说明:
我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysql_data20111103.tar.gz的压缩文件格式(20111103是指备份执行时当天的日期),然后只保留最近7天的备份,再把备份文件通过ftp服务器上传到指定空间,并且在远程ftp服务器只保留最近7天的备份。系统运维 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接
实现步骤: 1、创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh cd /home cd mysql_data touch mysql_databak.sh vim mysql_databak.sh 输入以下内容:
#!/bin/sh/etc/init.d/mysqld stop #执行备份前先停止MySql,防止有数据正在写入,备份出错 date=` date +%Y%m%d ` #获取当前日期DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份BK_DR=/home/mysql_data #备份文件存放路径DB_DR=/var/lib/mysql/pw85 #数据库路径LINUX_USER=root #系统用户名tar zcvf $BK_DR/mysql_data$date.tar.gz $DB_DR #备份数据/etc/init.d/mysqld start #备份完成后,启动MySqlchown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者find $BK_DR -name "mysql_data*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)deldate=` date -d -7day +%Y_%m_%d ` #删除ftp服务器空间7天前的备份ftp -n
系统运维 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接
3、修改文件属性,使其可执行 chmod +x /home/mysql_data/mysql_databak.sh 4、修改/etc/crontab #添加计划任务 vi /etc/crontab #在下面添加 5 23 * * * root /home/mysql_data/mysql_databak.sh #表示每天23点05分执行备份 5、重新启动crond使设置生效 /etc/rc.d/init.d/crond restart chkconfig crond on #设为开机启动 service crond start #启动 每天你在/home/mysql_data目录下面可以看到类似mysql_data20111103.tar.gz这样的压缩文件,如果需要 恢复文件的时候,只需要把这个文件解压即可。 解压缩命令:tar -zxvf mysql_data20111103.tar.gz