我想使用linux的crontab每天对crontab内容备份

来源:百度知道 编辑:UC知道 时间:2024/05/14 18:19:02
我想使用linux的crontab每天对crontab内容备份,
在crontab中配置了如下内容:

0 1 * * * (cd /home/new/cron_bak/; crontab -l > cron.`date +%Y%m%d`)
发现不起作用,觉得可能是无法识别 crontab -l,于是换成以下内容

0 1 * * * (cd /home/new/cron_bak/; /usr/bin/crontab -l > cron.`date +%Y%m%d`)
结果还是不起作用。

但我手动在shell下执行括号里的内容,均可生效。哪位高手知道其中的奥秘啊,谢谢大家~

crontab -l的内容实际都在 /var/spool/cron/ 目录下的文件里面
其实用tar或者cp备份就够了

另外crontab里面的命令最好用绝对路径,否则要声明一下环境变量,否则很容易命令找不到的。
1、任务调度设置文件的写法
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
具体格式如下:
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
每个字段代表的含义如下:
Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务
Command 指定要执行的程序
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选
字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
举例如下:
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6