用Bash调度Cron

用Bash调度Cron,bash,shell,cron,Bash,Shell,Cron,这是我要运行的命令: 00 03 * * * backup.sh 我知道这将在每天凌晨3点运行脚本backup.sh。如何使用bash脚本在linux服务器上添加这个cron命令?您知道/etc/cron.d目录,对吗?如果不是,请键入“man cron” 如何使用bash脚本在linux服务器上添加这个cron命令 如果要以root用户身份运行此文件,可以在/etc/cron.d中放置一个名为backup的文件,其中包含以下内容: 00 03 * * * root backup.sh 这假

这是我要运行的命令:

00 03 * * * backup.sh

我知道这将在每天凌晨3点运行脚本backup.sh。如何使用bash脚本在linux服务器上添加这个cron命令?

您知道/etc/cron.d目录,对吗?如果不是,请键入“man cron”

如何使用bash脚本在linux服务器上添加这个cron命令

如果要以root用户身份运行此文件,可以在
/etc/cron.d
中放置一个名为
backup
的文件,其中包含以下内容:

00 03 * * * root backup.sh
这假设
backup.sh
位于标准的
路径中,您可能希望在此处使用完全限定的路径,而不是依赖
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
和其他全局系统位置中是必需的。

crontab-e
将尝试调用
编辑器,因此您的第一个脚本可以将其设置为第二个脚本,该脚本只需将相关行附加到crontab即可:

#!/bin/sh
EDITOR=/path/to/second/script crontab -e
第二个脚本:

#!/bin/sh
echo "00 03 * * * /path/to/bin/backup.sh" >> $1
根目录:

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

这看起来不错,谢谢。但实际将该行添加到crontab-e需要什么bash命令?
crontab-e
将打开一个编辑器。您键入该行并保存文件,然后退出编辑器,这将激活新的crontab文件。您还可以键入
crontab/path/to/your/crontab
从现有文件而不是使用编辑器安装crontab。另外,
mancrontab
man5crontab
。您将一个文件放在bash脚本编写的目录中。其格式与常规crontab相同,只是添加了一个额外的文件(倒数第二个)为用户提供运行作业的权限。