linux 定时备份mysql 数据库

linux 定时备份mysql 数据库

1.创建备份目录

mkdir 777 /data
cd /data
mkdir 777 /dbback
cd /dbback
mkdir 777 /mysql

777赋予读写权限,在根目录建立/data/dbback/mysql 目录

2.写shell脚本

touch backup.sh
vim backup.sh

使用vim命令来编辑脚本,而不是用windows编辑器,用windows写脚本会识别不了换行符,在sql文件后缀名加一个?,详见https://blog.csdn.net/weng_xianhu/article/details/79419675

3.脚本内容

打开sh文件,按i键编辑脚本,esc键退出,:wq命令保存并关闭

echo mysql_backup_start #echo 打印 
mysqldump -u用户名 -p密码 --default-character-set=utf8mb4 --databases 数据库名 > /data/dbback/mysql/数据库名$(date +"%Y%m%d%H%M%S").sql #获取系统时间戳拼在文件后

4.编写定时任务

crontab #查看是否安装crond一般centos都带了 如果没有安装:
yum -y install vixie-cron #详见https://www.cnblogs.com/dxy1451713982/p/8081569.html
service crond status #查看crond状态
service crond start #启动
service crond restart #重启
service crond stop #停止
crontab -e #以vim命令的形式编辑定时任务脚本

5.定时任务结构

minute hour day month week command

其中:

  • minute: 表示分钟,可以是从0到59之间的任何整数。

  • hour:表示小时,可以是从0到23之间的任何整数。

  • day:表示日期,可以是从1到31之间的任何整数。

  • month:表示月份,可以是从1到12之间的任何整数。

  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

  • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

例如:10 00 * * * /data/dbback/backup.sh 表示每天0点10分执行sh脚本

6启动定时任务

编辑完crontab -e之后,重启一下,记得要给sh文件赋予权限

chmod 777 /data/dbback/backup.sh
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,752评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 6,939评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,588评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,633评论 2 9