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

你可能感兴趣的:(vps备份,bpcs_uploader,网盘备份)