发布时间:2018-06-07 09:30:17编辑:丝画阁阅读(810)
由于个人的需求问题,MYSQL和WEB分开来备份。没特殊要求的也可以合在一个SH文档备份。
数据库备份脚本(1):
#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=root #mysql用户名
MYSQL_PASS=e9china.net #mysql密码
#你要修改的地方从这里结束
#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
#删除本地3天前的数据
rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz
cd /home/backup
#导出数据库,一个数据库一个压缩文件
for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
(/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
done
#压缩数据库文件为一个文件
tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz
rm -rf /home/backup/*.sql.gz
echo “Mysql备份结束”
数据库备份脚本(2)COO友情提供(选择性备份):
#!/bin/bash
cd /home/mysqlbak
echo “You are In Backup Directory”
mv backup* /home/oldmysqlbak
echo “Old Databases are Moved to oldbackup folder”
Now=$(date +”%d-%m-%Y--%H:%M:%S”)
File=backup-$Now.sql.gz
#格式 -u用户 -p密码 数据库 |gzip -9 > 数据库-$File
/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File
/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File
/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File
/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File
echo “Your Database Backup Successfully Completed”
FTP备份脚本:
#!/bin/bash
#你要修改的地方从这里开始
WEB_DATA=/home/wwwroot #要备份的网站数据,如果是使用lnmp安装包,则默认这个为网站目录
#你要修改的地方从这里结束
#定义web数据的名字和web数据的名字
WebBakName=Web_$(date +%Y%m%d).tar.gz
OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz
#删除本地3天前的数据
/home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz
cd /home/backup
#压缩网站数据
tar zcf /home/backup/$WebBakName $WEB_DATA
echo “web备份结束”
给予脚本运行的权限
chmod 774 /root/mysqlbak.sh或者chmod +x /root/mysqlbak.sh
利用系统crontab实现每天自动运行:
crontab -e
每天晚上3:30分备份数据库
30 3 * * * /root/mysqlbak.sh
每个月1.10.30号备份一下WEB目录
45 4 1,10,30 * * /root/webbak.sh
下一步将要实现利用rsync同步备份目录到另外一个服务器
关键字:
上一篇:如何精确统计页面停留时长
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】