linux下每天备份网站数据库mysql

#!/bin/bash

#获取当前脚本路径,并把数据库备份到当前路径下

backupdir=$(cd `dirname $0`; pwd)
time=` date +%Y%m%d`

#导出数据库并压缩,中root是你的数据库用户名,passwd是用户密码,sqlname是要备份的数据库
mysqldump -uroot -ppasswd sqlname | gzip > $backupdir/sqlname$time.sql.gz

#下面是删除5天前的备份
find $backupdir -name “sqlname*.sql.gz” -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

###################以上为脚本内容

创建备份文件夹:mkdir /home/wwwroot/xxx.com/mysql_backup  其中xxx.com为你的网站名。新建备份脚本 vim /home/wwwroot/xxx.com/mysql_backup/mysql_backup.sh 把上面的脚本复制后,按i键,再按鼠标右键,复制进去后保存退出(按Esc键,输入 “ :wq” 按回车)

完成后可以运行sh -x /home/wwwroot/xxx.com/mysql_backup/mysql_backup.sh

检查目录是否有新备份的文件ls /home/wwwroot/xxx.com/mysql_backup

写入每天的定时任务  vim /etc/crontab

按键盘上的”i”,开始输入

02 4 * * * root sh /home/wwwroot/xxx.com/mysql_backup/mysql_backup.sh

表示每天4点2分执行备份任务

先按一下键盘上的 ” esc ” 然后输入  ” :wq  “  表示保存

 

重新启动crond

service crond restart

数据的恢复
首页进入mysql的bin目录
创建数据库
#mysqladmin create sqlname
恢复数据
#mysql sqlname < /home/wwwroot/xxx.com/mysql_backup/sqlname20160617.sql.gz

发表评论

电子邮件地址不会被公开。 必填项已用*标注