簡單的網站備份指令碼
| 代碼如下 |
複製代碼 |
#!/bin/bash #backup database mypw=CactiEZ newtime=$(date +%Y%m%d) if [ -d /var/www/backup/ ];then mysqldump -u root -p$mypw DB > /var/www/backup/$newtime-Database.sql else mkdir /var/www/backup/ mysqldump -u root -p$mypw DB > /var/www/backup/$newtime-Database.sql fi tar -zcvf /var/www/backup/$newtime-www.tar.gz /var/www/ find /var/www/backup/ -mtime +4 -exec rm -rf {} ; |
還有一個更進階的自動備份網站/資料庫/綁米資訊/自動上傳FTP指令碼
本指令碼特色:
1.純zip壓縮,1-9可自行調整壓縮率
2.整台VPS備份,還原方便,非常適合站群
3.加入壓縮密碼,可以自己設定
4.加入綁米資訊偽靜態壓縮,防止偽靜態弄丟
5.請確保在home目錄下有backup目錄,如果沒有請執行 mkdir /home/backup
6.還原資料庫請參考:匯入資料庫方法
最後更新時間:2012年8月25日
centos安裝zip
yum install zip
debian安裝zip
apt-get install zip
下載編輯
wget -c http://www.***.com/soft/beifen.sh
vi beifen.sh
只編輯註解為需要修改的地方
【指令碼開始】
| 代碼如下 |
複製代碼 |
#!/bin/bash #下面的參數是你要修改的 MYSQL_USER=root #mysql使用者名稱 MYSQL_PASS=mysql密碼 #mysql密碼 FTP_USER=FTP使用者名稱 #ftp使用者名稱 FTP_PASS=FTP密碼 #ftp密碼 FTP_IP=FTP地址 #ftp地址 FTP_backup=FTP目錄 #ftp上存放備份檔案的目錄,這個要自己得ftp上面建的 WEB_DATA=/home/wwwroot/ #要備份的網站資料 WEB_BANGMI=/usr/local/nginx/conf/ #要備份的綁米資訊 WEB_MULU=/home/backup #備份檔案存放目錄 WEB_MIMA=zhujima #備份時候的密碼 WEB_YASUOLV=1 #壓縮率 1-9 如果VPS沒有zip,請安裝zip #上面是你要修改的地方 #刪除淘寶客緩衝,屬於自訂設定。可自行操作 #rm -rf /home/wwwroot/1.com/Apicache/* #定義資料庫的名字和舊資料庫的名字 DataBakName=Data_$(date +"%Y%m%d").zip #定義資料庫名字 WebBakName=Web_$(date +%Y%m%d).zip #定義備份網站名字 BANGMI=BANGMI_$(date +%Y%m%d).zip #定義綁米備份名字 OldData=Data_$(date -d -5day +"%Y%m%d").zip #定義5天前資料庫名字 OldWeb=Web_$(date -d -5day +"%Y%m%d").zip #定義5天前網站名字 BANGMIshan=BANGMI_$(date -d -5day +"%Y%m%d").zip #定義5天前綁米名字 #刪除本地3天前的資料 rm -rf $WEB_MULU/Data_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/Web_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/BANGMI_$(date -d -3day +"%Y%m%d").zip #匯出全部資料庫 cd $WEB_MULU /usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases > $(date +"%Y%m%d").sql #壓縮資料庫檔案為一個檔案 zip -r -$WEB_YASUOLV -P $WEB_MIMA $DataBakName $WEB_MULU/*.sql rm -rf $WEB_MULU/*.sql #壓縮網站資料 cd $WEB_DATA zip -r -$WEB_YASUOLV -P $WEB_MIMA $WebBakName ./* mv $WebBakName $WEB_MULU/$WebBakName cd $WEB_MULU #壓縮綁米資訊 cd $WEB_BANGMI #進入綁米目錄 zip -r -$WEB_YASUOLV -P $WEB_MIMA $BANGMI ./* mv $BANGMI $WEB_MULU/$BANGMI #上傳到FTP空間,刪除FTP空間5天前的資料 cd $WEB_MULU #進入備份目錄 ftp -v -n $FTP_IP << END user $FTP_USER $FTP_PASS type binary cd $FTP_backup delete $BANGMIshan delete $OldData delete $OldWeb put $DataBakName put $WebBakName put $BANGMI bye END 加入許可權,寫入定時執行 chmod 777 /root/beifen.sh crontab -e 30 21 * * * /root/beifen.sh |