crontab 任務誤刪恢復

某臺服務器某賬號的 <code>crontab/<code> 任務被清空,原因不明。同時,該服務器上的 <code>crontab/<code> 任務備份未開啟。故思考如何恢復 <code>crontab/<code> 任務。

經查,CentOS 系統的 <code>crontab/<code> 任務的日誌,打印在 <code>/var/log/cron/<code> 之中。考慮過濾日誌:

<table><tbody>
1
cat /var/log/cron* | grep CMD | awk -F'CMD' '{print $2}' | awk -F'[(|)]' '{print $2}' | sort -u
/<tbody>/<table>

由此得到系統記錄過的 <code>crontab/<code> 執行命令,過濾其他賬號的命令後即可追回目標賬號的 <code>crontab/<code> 任務。

此外,考慮備份 <code>crontab/<code>腳本如下:

backup_crontab.sh

<table><tbody>
1
2
3
4
5
6
7
8
9
#!/usr/bin/env bash
BACKUP_DIRECTORY="${HOME}/crontab_backup"
if [ ! -e "${BACKUP_DIRECTORY}" ]; then
mkdir -p ${BACKUP_DIRECTORY}
fi
crontab -l > ${BACKUP_DIRECTORY}/$(date '+%Y%m%d').txt
/<tbody>/<table>


分享到:


相關文章: