分享

第二步 使用mysqldump 和 crontab定时任务定时备份数据库

 付松林 2017-05-22

(以下所有操作都是在root权限下!!!)

先来说说mysqldump这个工具 

这个工具是MySQL提供的备份还原mysql数据库的工具先来讲讲备份 

mysqldump -uroot -h192.168.1.1 -p123456 mysql host user > /home/1.sql

解释下这句命令 使用username:root,password:123456 登陆数据库 mysql 将mysql数据库中的host 和user表备份到/home/1.sql 这个文件

导入 就不多解释了

mysqldump -uroot -p123456 -h192.168.1.1 mysql </home/1.sql

可以尝试下 ,自己在控制台输入命令导出导入

下面我们讲讲定时任务 crontab (这里我们只是点到为止,满足我们的需求即可要详细掌握可以google)

使用 crontab -e 来设置当前用户的定时任务(这里是root)

* * * * * XXX

30 3 * * * sh /home/2.sh 这里是在每天的早上3.30分执行2.sh这个脚本上面的5个*分别表示  分 时 日 月 年 中间用空格隔开 XXX表示操作

设置好了之后保存,然后启动 service crond start 如果要设置成为开机启动 用vim /etc/rc.local 在文件加上一行 service crond start 保存

都设置好了 ,那么我们就可以开始动手写2.sh这个脚本了

在/home/下新建一个脚本 vim 2.sh 然后保存退出 ,将脚本权限改成可执行 chrom 777 2.sh 然后编辑2.sh 在里边写入

[plain] view plain copy
  1. #!/bin/sh  
  2. echo "start db back up!!"  
  3. db_user=root  
  4. db_host=192.168.1.1  
  5. db_pswd=123456  
  6. db_name=mysql  
  7. table_names="host user"  
  8. save_path=/home/$(date +"%Y-%m-%d-%H-%M-%S").sql  
  9. mysqldump -u$db_user -h$db_host -p$db_pswd $db_name $table_names >$save_path  
  10. echo "successed db back up!!"                                                                                                                          
将db_user、 db_host、 db_pswd、 db_name、 table_names、save_path 替换成为你自己的 用户名 、数据库ip 、密码 、数据库名称、 要备份的表、保存路径,那么系统将在每天早上3.30分备份你要备份的表,然后按照年-月-日-时-分-秒.sql的名字保存下来 ,哈哈,第二步结束 我们将在下一步解决远程拷贝 自动输入用户名密码的问题

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多