Linux自動備份文件

今天有人讓我給寫個腳本,說是讓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 /tmp/backup -mtime +30 -name "*.*" -exec -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服務做很多與定時有關的任務,比如定時發郵件,每天生成一份系統狀態報告等等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章