1.创建备份目录
为了方便,在/home保存备份文件;
cd /home
mkdir backup
cd backup
2.创建备份Shell脚本
vi bkName.sh
脚本名称也可以自定义,后面记得全部修改
输入/粘贴以下内容:
PS:记得修改对应信息
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
#备份地址
backup_dir=/home/dbback
#数据库名
db_name="words"
time="$(date +"%Y%m%d%H%M%S")"
# 备份数据库
mysqldump -umysql用户 -pmysql密码 $db_name > $backup_dir"/"$db_name"_"$time".sql"
#删除3天前的备份
find $backup_dir -name "db_name*.sql" -type f -mtime +3 -exec rm {} \; > /dev/null 2>&1
对备份进行压缩:
#!/bin/bash
mysqldump -umysql用户 -pmysql密码 数据库名 | gzip > /home/dbback/数据库名_$(date +%Y%m%d_%H%M%S).sql.gz
3.添加可执行权限
chmod u+x bkName.sh
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bkName.sh
5.添加计划任务
1.检测或安装crontab
执行以下命令看是否安装有crontab
rpm -qa | grep crontab
如果已经安装,显示如下:
如果没有安装的话,先安装
yum -y install vixie-cron
yum -y install crontabs
2.添加计划任务
crontab -e
输入以下内容并保存:
1 0 * * * /home/backup/bkName.sh
意思是每天凌晨执行一次bkName.sh 脚本
显示如下便添加成功:
6.测试任务是否执行
执行几次“ls”命令看下是否有文件创建就知道了。如果任务执行失败,看以下日志
# tail -f /var/log/cron