shell自動備份網站數據到百度網盤

以前一篇文章介紹了 利用百度網盤備份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
相關文章
相關標籤/搜索