在FC10中,当通过命令行或脚本调用时,ls以“YYYY-MM-DD HH:MM”格式输出date。 当由cron调用时,date格式为“Mon DD HH:MM”。 是什么赋予了? 为什么改变? 我已经检查过env和alias,shell和cron之间没有什么明显的区别。
find /full/path/dir -name '*.txt' -exec /bin/rm {} \; 在shell里很好,但是用一个sh脚本和一些类似的线popup来,让它从cronjob每晚运行,它会报告: find: missing argument to `-exec' 一切。 我可能在每一个组合都试过反斜杠和引号。 我怎样才能做这个工作?
我是一个多年的CentOS用户,但我仍然不确定最终的斜杠在linux命令中是如何的,例如 柏油 rsync的 MV 文件处理在软件/ PHP 什么是结束和不以斜线结束的path之间的实际区别?
我有这个文件: A.class A$1.class A$2.class 和一个类似的bash脚本: for i in *; do scp "${i}" foo@bar:/tmp/; done 这工作正常。 所有三个文件都被复制。 问题在于以下几点: for i in *; do scp "${i}" foo@bar:/tmp/"${i}"; scp "${i}" foo@bar:"/tmp/${i}"; scp "${i}" "foo@bar:/tmp/${i}"; done 在这种情况下,SCP会复制所有文件,但复制到同一个文件A.class 。 有任何想法吗? 谢谢!
我为程序员做了一个svn更新的脚本。 该脚本从bash工作正常。 程序员想从浏览器(通过他们的pipe理员站点)执行它。 脚本非常简单(它唯一的例子并不完全相同) #!/bin/bash echo "Start update…" cd /dir/with/site /usr/bin/svn update echo "Update ended." 在浏览器中,bash脚本是通过php文件启动的: echo system('/updatesvnscript.sh'); 在bash中执行它后,我可以看到从回声和svn应用程序的所有输出,脚本在bash中工作良好。 在浏览器中通过PHP启动脚本只给我输出从回声,像Start update… Update ended. ,但没有输出svn。 问题是,当我通过浏览器进行更新时,脚本也没有更新我的网站,所以我需要find问题出在哪里。 所以我想在浏览器中看到svn的输出,看看用svn通过浏览器是不是工作。 Bash脚本具有通过浏览器执行的适当权限,并且具有在站点目录中修改(更新)文件的适当权限。
我运行了du -hs以查明我的/home/user目录有多大,并将其报告为18G。 我清除了几乎4G的数据,再次运行du -hs ,以查明我实际保存了多less空间,它仍然报告为18G。 –apparent-size使其报告为19G。 我究竟做错了什么?
我正在运行find . -type d find . -type d在一个相当大的目录树上。 我只对在这棵树里find目录感兴趣,但是当我对进程运行一个strace以确保它正在做我期望的操作时,我注意到有大量的操作被浪费在运行fstat的文件上在树内。 newfstatat(AT_FDCWD, "file1", {st_mode=S_IFREG|0600, st_size=7690, …}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "file2", {st_mode=S_IFREG|0600, st_size=7696, …}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "file3", {st_mode=S_IFREG|0600, st_size=7687, …}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "file4", {st_mode=S_IFREG|0600, st_size=10455, …}, AT_SYMLINK_NOFOLLOW) = 0 发现不知道一个inode指向一个目录,直到它执行一个fstat? 如果是这样的话,这将需要很长时间。 其中的一些目录可能有数以百万计的内容,但我真的只关心目录。 最终,我想要在我的文件树中的每个目录的dirsize和path的报告。 什么是最快/最有效的方式来做到这一点?
这是脚本 bash –version | head -n1 if [ "$1" == "now" ] then echo if now execut job else echo else "_"$1"_" # make sure we are not picking any spaces if [ condition ] then execut something else fi fi ./script now if now 如果从交互式shell运行,则按预期工作。 但是,如果从cron调用,则if转到else块 * * * * * root /home/user/./script now […]
我有这样的cronjob: [email protected] 30 00 * * * root /run/this/script.sh 有没有办法告诉cron根据退出代码发送邮件到不同的邮件地址? 我的意思是,可以cron发送电子邮件到[email protected]的情况下script.sh返回0或发送到[email protected]万一出了问题? 或者我必须在包装脚本中做到这一点?
我正在传递以下简单的shell脚本来打击LXC容器: apt-get update apt-get install postgresql -y sudo -u postgres psql -c 'create database dvdrental;' 我正在使用的实际命令是: cat sample.sh | lxc-attach -n test-container — /bin/bash 我这样做的原因,而不是上传脚本到容器中,并执行这种方式是这只是一个更复杂的应用程序,我们正在build设的理念的certificate,必须采取命令的标准input和运行在容器里。 除了一件事,它似乎工作得很好。 当postgresql仍在安装时,它会移到psql命令上,也就是说, […] Get:21 http://archive.ubuntu.com/ubuntu/ trusty/main ssl-cert all 1.0.33 [16.6 kB] Get:22 http://archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-common all 154ubuntu1 [103 kB] Get:23 http://archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-9.3 amd64 9.3.10-0ubuntu0.14.04 [2,669 kB] Get:24 http://archive.ubuntu.com/ubuntu/ trusty-updates/main […]