备份脚本
#!/bin/bash
#
# 参数说明:
# backupdir 保存路径的绝对地址
# 代码中 time=` date +%Y%m%d`也可以写为time=”$(date +”%Y%m%d”)” 找到当前日期时间格式
# dataname:数据库名;
# user:数据库用户名;
# password:用户密码;
# name:自定义备份文件前缀标识
# name:自定义备份文件前缀标识。
# -type f 表示查找普通类型的文件,f表示普通文件。
# -mtime +30 按照文件的更改时间来查找文件,+30表示文件更改时间距现在30天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。
# -exec rm -rf {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。
# 数据库备份的位置
backupdir=/root/bakup/mes
time=` date +%Y%m%d%H%M%S`
# 需要备份的数据库的连接的用户名和密码和数据库
# mysql_bin_dir/mysqldump -uuser -ppassword dataname | gzip > $backupdir/name$time.sql.gz
mysqldump --defaults-file=/root/bakup/bakConfig.cnf rmmes -R --ignore-table=rmmes.requestlogs --master-data=1 | gzip > $backupdir/rmmes_$time.sql.gz
# 传输至备份服务器,如果保留本机则不需要此步骤
# scp $backupdir/mysql_$time.sql.gz 22.122.51.158:/data/bakup/159/
# 保留30日
find $backupdir -name "rmmes_*.sql.gz" -type f -mtime +30 -exec rm -rf {} \;
bakConfig.cnf配置文件
[client]
host=127.0.0.1
user=root
password=your password
port=3306
定时执行
contab -e
#进入后添加一下命令行 每天2:10自动执行,按需调整
10 2 * * * /root/bakup/bakMesSql.sh