1
yum install crontabs -y
2
vi backup_script.sh
3
#!/bin/bash
MySQL Server 登录信息
MYUSER=“数据库用户名”
MYPASS=“数据库用户密码”
MYHOST=“数据库主机地址”
MYPORT=“数据库端口号,默认为3306”
MYDB=“需要备份的数据库名称”
备份相关配置信息
BAKDIR=“/var/db-backup/
(
d
a
t
e
+
′
B
A
K
F
I
L
E
=
"
(date +'%Y-%m-%d')" # 备份保存目录 BAKFILE="
(date+′BAKFILE="BAKDIR/db.$(date +‘%Y-%m-%d-%H%M%S’).sql.gz” # 备份文件名
KEEPDAYS=7 # 保留天数
创建备份目录
if [ ! -d “
B
A
K
D
I
R
"
]
;
t
h
e
n
m
k
d
i
r
−
p
"
BAKDIR" ]; then mkdir -p "
BAKDIR"];thenmkdir−p"BAKDIR”
fi
备份数据库至压缩文件
mysqldump -h “ M Y H O S T " − P " MYHOST" -P " MYHOST"−P"MYPORT” -u “ M Y U S E R " − p " MYUSER" -p" MYUSER"−p"MYPASS” --databases “ M Y D B " ∣ g z i p > " MYDB" | gzip > " MYDB"∣gzip>"BAKFILE”
清理旧备份文件,只保留指定天数内的备份,超过时间的就会被清除
find “ B A K D I R " − n a m e ′ ∗ . s q l . g z ′ − t y p e f − m t i m e + " BAKDIR" -name '*.sql.gz' -type f -mtime +" BAKDIR"−name′∗.sql.gz′−typef−mtime+"KEEPDAYS” -delete
4
给脚本文件授权(可执行权限)
chmod 777 backup_script.sh
5
crontab -e
6
0 2 * * * /usr/local/bin/mysql-backup.sh
1.一些基本的crontab命令示例:
crontab -l :列出当前用户的所有定时任务。
crontab -e :编辑当前用户的定时任务。
crontab -r :删除当前用户的所有定时任务。
crontab -u user -l :列出指定用户的所有定时任务。
crontab -u user -e :编辑指定用户的定时任务。
crontab -u user -r :删除指定用户的所有定时任务。
2.如何用crontab -e命令添加一个定时任务:
(1)使用crontab -e命令编辑或创建一个用户的计划任务列表。
crontab -e