Linux自動備份檔案(linux計劃任務)
阿新 • • 發佈:2018-12-25
今天有人讓我給寫個指令碼,說是讓linux定時備份資料和資料,每次備份的資料檔名不一樣,並刪除超過一定時期的資料,這個聽起來挺有意思的,具體看下面吧:
1,寫一個指令碼backup.sh內容如下
#!/bin/sh
cp -r /home/..../data /tmp/backup/bak //資料存在data目錄下,備份到backup目錄下,所以先將資料拷過來
tar -zcvf /tmp/backup/bak$(date +%Y%m%d).tar.gz /tmp/backup/bak //將資料所在資料夾bak打包
rm -rf /tmp/backup/bak //刪除臨時檔案內容
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \; //刪除改資料夾下超過30天的檔案
2,修改crontab內容
#crontab -e
* * * * * /home/.../backup.sh
如:22 11 1 * * /home/backup.sh 就是每月的1號11點22分執行home下的backup。sh指令碼
前面五個欄位分別表示分鐘(0-59)、小時(0-23)、日(1-31)、月(0-12)、星期幾(0-6)後面的為指令碼所在目錄
3,重新啟動crond服務
#service crond restart
如果沒有安裝crond服務就先裝上服務再說,用service crond status可以檢視該服務狀態
注:我們可以用crond服務做很多與定時有關的任務,比如定時發郵件,每天生成一份系統狀態報告等等。
注:我們可以用crond服務做很多與定時有關的任務,比如定時發郵件,每天生成一份系統狀態報告等等。