MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。
1、创建备份文件夹
#cd /www
#makedir backup
2、编写运行脚本
#vi autobackup
写入以下内容:
filename=`date +%Y%m%d`
mysql_bin_dir/mysqldump -opt dataname-u user-ppassword| gzip >/www/mysqlbackup/name$filename.gz
保存退出?
说明:
(1)mysql_bin_dir:mysql的bin路径;
(2)dataname:数据库名;
(3)user:数据库用户名;
(4)password:用户密码;
(5)name:自定义备份文件前缀标识。
如上例,将自动备份mysql数据库,并以gzip压缩方式存储,文件名为name20080101.gz的形式。
3、为脚本添加执行权限
#chmod +x autobackup
4、让crontab来完成定期执行的任务
这一步中,Redhat的方法会不一样,后面专门给出。
编辑crontab:
#vi /etc/crontab
在最后一行中加入:
01 5* * * root /www/autobackup
每天5点运行脚本,也可以修改5为其他指定时间。
Redhat方法:
Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式。
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
5、重启crontab
#/etc/rc.d/init.d/crond restart
完成
其实原理很简单,自己制作一个脚本,让Linux系统自动运行。我们还可以再扩展一下,编辑一个自动备份网站文件的脚本,让Linux来完成,每天自动备份整个网站,等等……
兼职人 于 2011-05-08 09:55:34发表:
不错。
fj97897217 于 2011-04-27 21:54:44发表:
{:3_107:}很不错!!很巧妙的!!还能完成其他的东东备份!!!
yangjinlong1123 于 2011-04-22 15:32:45发表:
试试
ftd505 于 2011-04-18 15:35:49发表:
{:2_92:}
ylinuxs 于 2010-09-22 13:26:40发表:
我个人觉得,直接#cp 想要备份的文件 目标位置 这样更为简单些,更为节约空间.要的就执行,不想要的就不执行。
yoohuu 于 2010-09-20 11:11:21发表:
收藏
eclipse101 于 2010-09-07 10:36:59发表:
好东西
checked 于 2010-09-02 16:18:20发表:
好技巧,我先收下了