1.随便目录下创建一个.sh文件
vi database.sh
2.输入脚本
#!/bin/bash
DATE=`date +%Y%m%d%H%M` #every minute
DATABASE=test #database name 数据库名字
DB_USERNAME=test #database username 账号
DB_PASSWORD="test" #database password 密码
BACKUP_PATH=/data/mysqlb #backup pathhome/backup 数据库备份文件保存路径
mysqldump yshop > /data/mysqlb/${DATABASE}_${DATE}.sql
3.输入完毕之后,赋予脚本文件权限 777 即可。
chmod +x database.sh
到这一步,就已经完成了,先执行一遍脚本,查看是否有报错,无报错,可以添加到定时任务,有报错,可以看下我下面的总结出来的一些问题
4.有些小伙伴,执行的时候会有些问题,我来总结一下我踩的坑
- 4.1,执行脚本报错,数据库使用mysqldump不安全之类的
解决办法:修改mysql配置文件,有些在/etc/my.cnf,有些是在/etc/my.conf
vi /etc/my.cnf
在client模块里面追加如下红圈标记代码
host=localhost
user=数据库用户
password='数据库密码'
这样子,Mysql数据连接问题就已解决
- 4.2 有些小伙伴直接执行脚本没问题,但是添加到定时任务之后,输出的数据大小为0Byte大小
解决方案:
查找mysqldump命令在哪里
find / -name mysqldump -print
使用ln命令链接到/usr/bin下面 ,根据自己路径修改,每个人的路径不一样
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
上面的两个问题基本就可以解决大部分的问题了
添加脚本到定时任务
crontab -e
下面进行追加 , 每天凌晨一点执行一遍脚本任务,后面的路径是存放脚本的,根据自己文件路径进行秀嘎。
00 1 * * * /data/test/database.sh
然后保存退出即可