远程linux服务器mysql数据库定期备份和删除

发表于:2014-10-29 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:谢馥春    来源:51Testing软件测试网采编

  网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了。
  1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令:
  ssh  -l  root  -p  8080  202.***.***.***
  其中root为用户名,一般为root,8080为端口,202.***.***.***为服务器ip地址;
  接下来会提示你输入密码,输入正确后即可进入服务器;
  2.然后需要创建一个数据库备份数据存放的文件夹;
  mkdir /mysql/mysqldata_bakeup
  /mysql/mysqldata_bakeup为创建的路径,可以自定义;
  3.创建并编辑文件在路径 /usr/sbin/bakmysql,命令:
  vi /usr/sbin/bakmysql
  此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入;
  fn = ` date +%Y%m%d `
  tar  zcvf  /mysql/mysqldata_bakeup/mysql$fn.tar.gz  /mysql/data
  或
  mysqldump -u root -ppassword /mysql/data/yourdatabase > /mysql/mysqldata_bakeup/mysql$fn.sql
  find /mysql/mysqldata_bakeup/ -type f -mtime +7 -exec rm -f {} \;
  /mysql/mysqldata_bakeup/为备份数据保存路径,msql$fn.tar.gz为备份数据根据日期编号的名称,/mysql/data为服务器数据库的数据路径,yourdatabase为你要备份的数据库名;
  注意其中第一句命令不是单引号,而是tab键上面的符号,且date前后需要有空格;
  第二句命令有两种方法,第一种直接备份并压缩数据库数据源文件,第二种是利用mysql自带命令mysqldump导出数据库yourdatabase的sql文件;
  第三句是删除7天前的备份文件,mtime是文件修改时间,如果没有修改过,则为创建时间;
  4.修改文件bakmysql属性,使其可执行;
  chmod +x /usr/sbin/bakmysql
  5.修改/etc/crontab:
  vi /etc/crontab
  进入编辑状态,在最下面添加:
  01 3 * * * root /usr/sbin/bakmysql
  01 3 是每天凌晨3:01执行 bakmysql文件;
  6.关于重启有时候并不需要,如果服务器在/etc/rc.d/init.d/路径下有crond服务,可以选择重启crond,命令:
  /etc/rc.d/init.d/crond restart
  7.最后退出服务器命令:exit
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号