crontab 备份crontab任务
背景
很多时候crontab操作误删,或者其他原因导致crontab执行脚本丢失,需要对crontab任务进行备份。
先简介一下crontab命令man crontab
crontab -l 列举 crontab 的任务
crontab -e 编辑 crontab 的任务
crontab -r 删除crontab 的任务;风险
crontab -h crontab 的帮助
crontab -i 删除 crontab 前进行提示
crontab -u 选择crontab 用户
防止crontab 任务被删的方式
策略1:每天备份
- 单机单用户备份
备份脚本crontab_schedule_bak.sh
#!/bin/bash
crontab -l > ~/crontab_bak/cron_schedule_`date '+%Y%m%d'`.bak
增加调度crontab -e
00 00 * * /bin/bash ~/crontab_bak/crontab_bak.sh
- 单机多用户备份
备份脚本crontab_schedule_bak.sh
#!/bin/bash
# 目录与文件
cron_schedule_bak_file_name=/opt/shell_scripts/cron_schedule_bak_data/cron_schedule_`date '+%Y%m%d'`.bak
# 初始化
echo '' > $cron_schedule_bak_file_name
# 写入备份数据
grep -vE "nologin|false" /etc/passwd | cut -d: -