最近总是熬夜加班,人累的时候就会误操作,上次把一个客户上传的图片文件夹全删了,幸好客户关系好,没说太多。
这几天上线了几个项目,都是实打实的别人出钱我出力的项目,如果不小心删东西了,那就尴尬了。
多个项目在一个服务器上,目前想到的最简单的方法是循环遍历备份。
不多说,上脚本
#!/bin/sh
dates=`date +%u`
dates=$(( $dates%2+1))
#导出数据
user="db_user"
pwd="db_pass"
db_arr=("dbA" "dbB" "dbC" "dbD")
for i in ${db_arr[@]}
do
db_file=$i"-"$dates
filename=db-$db_file.zip
/usr/lib/server/mysql-5.6.21/bin/mysqldump -u$user -p$pwd $i>/wwwroot/backup/$filename
echo $i
done
file_arr=("sizeA" "sizeB")
for i in ${file_arr[@]}
do
zip_file=$i"-"$dates
filename=file-$zip_file.zip
cd /wwwroot/$i
zip -r /wwwroot/backup/$filename ./*
echo $i
done
为了节省服务器空间,每两天循环覆盖一次
为了项目的安全及隐私,我把所有涉及到项目的全用匿名了,不过不影响看