說明:天天定時備份網站,並刪除7天前的備份html
首先在/home/下新建一個文件夾:/backupmysql
#mkdir /home/backup #用於保存備份文件sql
編寫Shell腳本:數據庫
#vim backup.shvim
#! /bin/shbash
#! /bin/bash網站
cd /home/backuprest
mkidr `date +%Y-%m%d`日誌
dateTime=`date +%Y-%m-%d` #當前系統時間htm
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