每天备份太辛苦了可以试下mysql数据库加网站程序自动备份shell
支持mariadb数据库自动备份
1 |
which mysqldump |
先查看下mysqldump路径
先新个sqlback.sh例如
1 |
vi sqlback.sh |
其中
user #用户名
password #密码
dbname #数据库名
/root/ #要保存的目录
/usr/bin/mysqldump #mysqldump启动 这里写which mysqldump 查询结果
/www/nmfox.com #web目录
SQL_FSIZE=50m #数据分卷大小改成自已想分的大小
WEB_FSIZE=100m #网站分卷大小改成自已想分的大小
换成自已服务器上的配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#!/bin/bash #mysqldump sqlbsck webback #by nmfox.com 2015 echo -e "33[32m--------------------------------33[1m" echo "system is starting,please wait...." sleep 2 if [ $UID -ne 0 ];then echo "must to be use root user" exit 0 fi ############################ ##使用前请更改下以下配置 MYSQL_USR=usr MYSQL_PW=password MYSQL_DB=dbname MYSQL_DIR=/root/ MYSQL_CMD=/usr/bin/mysqldump SQL_FSIZE=50m WEB_DIR=/www/nmfox.com WEB_FSIZE=500m ## ############################# TOTIM=$(date +%Y%m%d) AOTIM=$(date -d "2 days ago" +%Y%m%d) DIRBAK_NAME=$MYSQL_DIR$TOTIM SQLBAK_NAME=$MYSQL_DB$TOTIM.sql ZIPBAK_NAME=$MYSQL_DB$TOTIM.zip WEB_NAME=seweb.zip FENBAK_NAME=sqlback$TOTIM WEBBAK_NAME=webback$TOTIM if [ ! -d "$DIRBAK_NAME" ]; then mkdir $DIRBAK_NAME fi $MYSQL_CMD -u$MYSQL_USR -p$MYSQL_PW $MYSQL_DB > $DIRBAK_NAME/$SQLBAK_NAME if [ $? -eq 0 ];then echo "mysqldump is successfully" fi cd $DIRBAK_NAME zip $ZIPBAK_NAME $SQLBAK_NAME if [ $? -eq 0 ];then echo "mysqzip is successfully" fi zip -s $SQL_FSIZE $ZIPBAK_NAME --out $FENBAK_NAME if [ $? -eq 0 ];then echo -e "33[37m--------------------------------33[1m" echo "mysqlback is successfully" rm -f $SQLBAK_NAME rm -f $ZIPBAK_NAME fi echo -e "33[32m--------------------------------33[1m" echo "zip web file...." if [ -d "$WEB_DIR" ];then cd $WEB_DIR zip -r $WEB_NAME ./* mv $WEB_NAME $DIRBAK_NAME cd $DIRBAK_NAME zip -s $WEB_FSIZE $WEB_NAME --out $WEBBAK_NAME fi if [ $? -eq 0 ];then echo -e "33[37m--------------------------------33[1m" echo "webback is successfully" rm -f $WEB_NAME fi cd .. if [ -d "$AOTIM" ];then rm -rf "$AOTIM" fi |
1 2 |
crontab -e 0 3 * * * /root/sqlback.sh |
如果想上传到百度云可以下载脚本
本站网盘的zip版本 http://pan.baidu.com/s/1i3vYVI1
本站下的 下载完后在root目录下 解压不用改脚本的/root/nmfox/目录
1 |
unzip -x baiupbak.zip |
也可以下载bpcs_uploader官方的上传脚本
http://oott123.github.com/bpcs_uploader/
which得到你的php绝对路径
1 |
which php |
这里得到的路径是/usr/bin/php/binphp
修改bpcs_uploader.php的头一句#!后的路径
1 |
vi bpcs_uploader.php |
#!/usr/bin/php/bin/php -d disable_functions -d safe_mode=Off
然后改可执行权限
1 |
chmod +x bpcs_uploader.php |
《没有百度APP KEY,百度APP SECRET怎么用百度PCS上传脚本》
可以跟着这个教程 http://www.nmfox.com/2015/10/25/401.html
查询容量(配额)
1 |
./bpcs_uploader.php quota |
上传文件 [path_local]本地路径 [path_remote]网盘应用路径
1 |
./bpcs_uploader.php upload [path_local] [path_remote] |
路径格式:bpcs_uploader/file.ext(路径中一定要包括文件名)
1 |
./bpcs_uploader.php upload /root/aaa.zip /aaaaaa.zip |
上传后,能在 百度网盘/我的应用数据/应用名/下找到一个叫file.ext的文件。
./bpcs_uploader.php download [path_local] [path_remote] #下载文件
./bpcs_uploader.php delete [path_remote] #删除文件
./bpcs_uploader.php fetch [path_remote] [path_to_fetch] #离线下载
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
#!/bin/bash #mysqldump webback back_to_baiduyun #by nmfox.com 2015 echo -e "33[32m--------------------------------33[1m" echo "system is starting,please wait...." sleep 2 if [ $UID -ne 0 ];then echo "must to be use root user" exit 0 fi ############################ ##使用前请更改下以下配置 MYSQL_USR=usr MYSQL_PW=password MYSQL_DB=dbname MYSQL_DIR=/root/ MYSQL_CMD=/usr/bin/mysqldump SQL_FSIZE=50m WEB_DIR=/www/nmfox.com WEB_FSIZE=500m BAIDU_DIR=/root/nmfox ## ############################# TOTIM=$(date +%Y%m%d) AOTIM=$(date -d "2 days ago" +%Y%m%d) DIRBAK_NAME=$MYSQL_DIR$TOTIM SQLBAK_NAME=$MYSQL_DB$TOTIM.sql ZIPBAK_NAME=$MYSQL_DB$TOTIM.zip WEB_NAME=seweb.zip FENBAK_NAME=sqlback$TOTIM WEBBAK_NAME=webback$TOTIM if [ ! -d "$DIRBAK_NAME" ]; then mkdir $DIRBAK_NAME fi $MYSQL_CMD -u$MYSQL_USR -p$MYSQL_PW $MYSQL_DB > $DIRBAK_NAME/$SQLBAK_NAME if [ $? -eq 0 ];then echo "mysqldump is successfully" fi cd $DIRBAK_NAME zip $ZIPBAK_NAME $SQLBAK_NAME if [ $? -eq 0 ];then echo "mysqzip is successfully" fi zip -s $SQL_FSIZE $ZIPBAK_NAME --out $FENBAK_NAME if [ $? -eq 0 ];then echo -e "33[37m--------------------------------33[1m" echo "mysqlback is successfully" rm -f $SQLBAK_NAME rm -f $ZIPBAK_NAME fi echo -e "33[32m--------------------------------33[1m" echo "zip web file...." if [ -d "$WEB_DIR" ];then cd $WEB_DIR zip -r $WEB_NAME ./* mv $WEB_NAME $DIRBAK_NAME cd $DIRBAK_NAME zip -s $WEB_FSIZE $WEB_NAME --out $WEBBAK_NAME fi if [ $? -eq 0 ];then echo -e "33[37m--------------------------------33[1m" echo "webback is successfully" rm -f $WEB_NAME fi filelist=`ls` for file in $filelist do $BAIDU_DIR/bpcs_uploader.php upload $DIRBAK_NAME/$file /$TOTIM/$file done cd .. if [ -d "$AOTIM" ];then rm -rf "$AOTIM" fi |
如果要合卷可以
1 |
cat backsql.z* > bdnamesql.zip |
cat 要合的备份的文件.z* > 合成后的文件名.zip