【发布时间】:2015-02-19 23:53:49
【问题描述】:
我编写了一个将.trc 文件从源指令移动到备份指令的代码。现在我已经将时间(多长时间)、源路径和备份路径作为该文件的命令行参数。现在,当我从sh 调用脚本时,它工作正常。但是在 crontab 中它不起作用,这让我想知道 crontab 是否允许传递命令行参数。我的sh 命令是:
sh trace_bkp.sh 2 /home/adhikarisubir/test/basic_unix /home/adhikarisubir/test_bkp
其中2 定义了 2 分钟的旧文件,下一个是源路径,最后一个是目标路径。我在 crontab 中设置为:
*/5 * * * * sh /home/adhikarisubir/test/basic_unix/trace_bkp.sh 2 /home/adhikarisubir/test/basic_unix /home/adhikarisubir/test_bkp
【问题讨论】:
-
如果您运行此命令:
sh /home/adhikarisubir/test/basic_unix/trace_bkp.sh 2 /home/adhikarisubir/test/basic_unix /home/adhikarisubir/test_bkp,而您在/root中作为用户root是否有效? -
你也在哪个crontab里写这个?您自己的(用户)crontab 还是系统范围(root)的 crontab?
-
@AngeloFuchs,没有换行符。感谢您的编辑。我如何检查这是谁的 crontab?我只使用
crontab -e并在其中编写我的代码。 -
当你打电话给
crontab -e时,你是用哪个用户做的?作为用户还是 root? -
@AngeloFuchs,作为用户!!此外,我的其他 crons 也是这样工作的。同样在对值进行硬编码后,cron 可以正常运行脚本。