admin 管理员组文章数量: 887021
2023年12月24日发(作者:可以承受百万数据的开源程序)
MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。
1、创建备份文件夹
#cd /www
#makedir backup
2、编写运行脚本
#vi autobackup
写入以下内容:
filename=’/bin/date +%Y%m%d’
mysql_bin_dir/mysqldump
gzip >/www/mysqlbackup/name$
保存退出?
说明:
(1)mysql_bin_dir:mysql的bin路径;
(2)dataname:数据库名;
(3)user:数据库用户名;
(4)password:用户密码;
(5)name:自定义备份文件前缀标识。
如上例,将自动备份mysql数据库,并以gzip压缩方式存储,文件名为的形式。
3、为脚本添加执行权限
#chmod +x autobackup
–opt dataname-u user-ppassword|
4、让crontab来完成定期执行的任务
这一步中,Redhat的方法会不一样,后面专门给出。
编辑crontab:
#vi /etc/crontab
在最后一行中加入:
01 5* * * root /www/autobackup
每天5点运行脚本,也可以修改5为其他指定时间。
Redhat方法:
Redhat的crontab采用按时间调用4个目录(/etc/:每小时;/etc/:每天;/etc/:每周;/etc/y:每月)中脚本出来运行的方式。
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
5、重启crontab
#/etc/rc.d/init.d/crond restart
完成
其实原理很简单,自己制作一个脚本,让Linux系统自动运行。我们还可以再扩展一下,编辑一个自动备份网站文件的脚本,让Linux来完成,每天自动备份整个网站,等等……
1、创建保存备份文件的路径/mysqldata
#mkdir /mysqldata
2、创建/usr/sbin/bakmysql文件
#nano /usr/sbin/bakmysql
输入:
#!/bin/sh
filename=’/bin/date +%Y%m%d’
mysqldump --all-databases -uroot -p密码 > /shlar/mysqlbak/
注:--all-databases 为备份全部数据库到mysqlbak下的文件中,如果把
--all-databases替换为test,则只备份test数据库。
3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#nano /etc/crontab
在下面添加:
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份。
5、重新启动crond
# /etc/init.d/cron restart
完成。
版权声明:本文标题:Linux自动备份MYSQL方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1703407771h450004.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论