这是我想要运行的命令:
00 03 * * * backup.sh
我知道这将在每天凌晨 3 点运行脚本 backup.sh。如何使用 bash 脚本在我的 linux 服务器上添加此 cron 命令?
如何使用 bash 脚本在我的 linux 服务器上添加此 cron 命令?
如果要以 root 身份运行它,可以将一个名为 backup
的文件放在名为 /etc/cron.d
中,其中包含以下内容:
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