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