以前一篇文章介紹了
利用百度網盤備份vps數據 網上找了下。有同窗已寫出來了shell腳本。更加方便的利用bpcs_uploader的方法。 第一步仍是須要把bpcs_uploader初試化好。 下面給出腳本代碼:
#!/bin/bash
# 常規定義mysql用戶和密碼
MYSQL_USER="xxku"
MYSQL_PASS="123456"
baidupan_DIR="/backup/$(date +%Y-%m-%d)"
BACK_DIR="bdbackup"
# 備份網站數據目錄nginx設置目錄和網站目錄,能夠酌情刪除
NGINX_DATA="/etc/nginx"
BACKUP_DEFAULT="/var/www"
# 定義備份文件名
mysql_DATA=mysql_$(date +"%Y%m%d").tar.gz
www_DEFAULT=default_$(date +%Y%m%d).tar.gz
nginx_CONFIG=nginx_$(date +%Y%m%d).tar.gz
# 判斷本地備份目錄,不存在則建立
if [ ! -d $BACK_DIR ] ;
then
mkdir -p "$BACK_DIR"
fi
# 進入備份目錄
cd $BACK_DIR
# 備份全部數據庫
# 導出須要備份的數據庫,清除不須要備份的庫
mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' > databases.db
sed -i '/performance_schema/d' databases.db
sed -i '/information_schema/d' databases.db
sed -i '/mysql/d' databases.db
for db in $(cat databases.db)
do
mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz
done
# 打包數據庫
tar -zcvf $mysql_DATA *.sql.gz
# 打包本地網站數據
tar -zcvf $www_DEFAULT $BACKUP_DEFAULT
# 打包Nginx配置文件
tar -zcvf $nginx_CONFIG $NGINX_DATA/*.conf
# upload
cd ~
/root/xxku/bpcs_uploader.php upload $BACK_DIR/$nginx_CONFIG $baidupan_DIR/$nginx_CONFIG
/root/xxku/bpcs_uploader.php upload $BACK_DIR/$mysql_DATA $baidupan_DIR/$mysql_DATA
/root/xxku/bpcs_uploader.php upload $BACK_DIR/$www_DEFAULT $baidupan_DIR/$www_DEFAULT
# Delete all local backup
rm -rf $BACK_DIR
exit 0
保存爲 baiduwangpanbeifen.sh 而後賦予執行權限 chmod +x baiduwangpanbeifen.sh ./baiduwangpanbeifen.sh 運行就能夠方便的將mysql數據庫。nginx和網站程序一次性備份好到百度網盤了。 編輯定時任務:crontab -e,加入一行:00 02 * * * /腳本路徑/baiduwangpanbeifen.s h,保存。表示天天的凌晨2:00自動執行baiduwangpanbeifen.sh腳本。 命令:crontab –l 能夠看到你當前的定時任務。 最後不要忘記重啓任務:service crond restart