这是我想要运行的命令:
00 03 * * * backup.sh
据我所知,这将在每天凌晨3点运行脚本backup.sh。如何使用bash脚本在我的linux服务器上添加此cron命令?
答案 0 :(得分:2)
如何使用bash脚本在我的linux服务器上添加此cron命令?
如果您想以root身份运行此 ,可以将文件放在名为/etc/cron.d
的{{1}}中,其中包含以下内容:
backup
这假定00 03 * * * root backup.sh
在标准backup.sh
中,您可能希望在此处使用完全限定的路径,而不是依赖PATH
:
PATH
在许多发行版中,您还可以将00 03 * * * root /path/to/bin/backup.sh
脚本(可能通过符号链接)放入类似backup.sh
的内容中,并且每晚都会运行。这通常比编写自己的crontab条目更简单,更易于维护。
如果您想以用户的身份运行此,则可以运行...
/etc/cron.daily
...编辑自己的crontab文件并在其中添加条目:
crontab -e
请注意,我们无需指定用户名(仅在00 03 * * * /path/to/bin/backup.sh
,/etc/cron.d
和其他全球系统位置中使用。
答案 1 :(得分:1)
以root身份:
echo "00 03 * * * root backup.sh" >>/etc/crontab
或
echo "00 03 * * * root backup.sh" >/etc/cron.d/mybackupjob
作为您自己的用户:
crontab -l >tmp; echo "00 03 * * * backup.sh" >>tmp; crontab tmp; rm tmp
答案 2 :(得分:0)
你知道/etc/cron.d目录,对吗?如果没有,请键入“man cron”。
答案 3 :(得分:0)
crontab -e
将尝试调用您的EDITOR
,因此您的第一个脚本可以将其设置为第二个脚本,该脚本只需将相关行附加到crontab:
#!/bin/sh
EDITOR=/path/to/second/script crontab -e
第二个脚本:
#!/bin/sh
echo "00 03 * * * /path/to/bin/backup.sh" >> $1