說明:每天定時備份網站,並刪除7天前的備份
首先在/home/下新建一個文件夾:/backup
#mkdir /home/backup #用於保存備份文件
編寫Shell腳本:
#vim backup.sh
#! /bin/sh
#! /bin/bash
cd /home/backup
mkidr `date +%Y-%m%d`
dateTime=`date +%Y-%m-%d` #當前系統時間
backdescdir=/home/backup/`date +%Y-%m-%d` #備份文件到該路徑
bakdata=$dateTime.tar.gz #備份文件名
baklog=$dateTime.log #備份日志
baksrcdir=/var/www/html #需要備份的文件
cd $bakdescdir #進入備份目錄
echo “backup start at $dateTime” > $baklog
tar -zcvf $bakdata $baksrcdir $baklog #壓縮備份文件及日志
find $bakdescdir -type f -name "*.log" -exec rm {} \; #刪除日志文件
find /home/backup/ -maxdepth 1 -type d -mtine +7 -exec rm -rf {} \; #刪除七天前的備份文件
:wq #保存,退出
----------------------------------------------------------------------------------------------------------------------------
備份Mysql數據庫文件:
腳本內容:
#! /bin/sh
DB_NAME="數據庫名稱"
DB_USER="用戶"
DB_PASS="密碼"
BCK_DIR="/home/backup/`date +%Y-%m-%d`"
DATE=`date +%F`
BAK_DATA=$DB_NAME_$DATE.sql
mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME |gzip > $BCK_DIR/$BAK_DATA
:wq
其次修改crontab內容
#crontab -e
01 0 * * * /root/file_backup.sh
說明:前五個字段分別表示分鍾、小時、日、月、星期,后面為腳本所在目錄
最后重啟crontab服務
#service crond restart