Linux环境下 定时备份MySQL数据库,并删除7天前的文件
1. cd /home #进入home目录下(在那个根目录下创建都无所谓)
2. mkdir backup # 在home目录下创建backup文件夹
3. cd backup
4. vi backUpKxTest.sh #编辑backUpKxTest.sh,vi命令会自动创建这个文件
5. 具体的代码如下
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
echo '开始备份数据库'
#备份地址
backupdir=/home/backup;
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S`
#需要备份的数据库名称
db_name=kx_test
#mysql 用户名
db_user=root
#mysql 密码
db_pass=rootadmin
mysqldump -u$db_user -p$db_pass $db_name|gzip>$backupdir/$db_name$time.sql.gz
echo '数据库备份完成'
#mysqldump -u$db_user -p$db_pass $db_name|gzip>/usr/local/mysqlbackup/mysqldata/test.sql.gz
#删除7天之前的备份文件
find $backupdir -name "kx_test_*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
6. 赋予权限 : chmod +x backUpKxTest.sh
7. 测试是否能执行: ./backUpKxTest.sh
8 . 创建定时任务: crontab -e
在里面输入下面一行的内容(表示每天下午6点执行):
0 18 * * * /home/backup/backUpKxTest.sh加粗样式
9. 查看定时任务: crontab -l