centos中创建自动备份Mysql脚本任务并定期删除过期备份

背景:

OA系统数据库是mysql,引擎为myisam,可以直接通过拷贝数据库文件的方式进行备份


创建只备份数据库的任务:


创建保存mysql数据库备份文件的目录mysqlbak

mkdir /home/mysqlbak


编辑shell脚本
vi /usr/sbin/bakmysql


加入如下内容:
#关闭mysql数据库服务
/opt/lampp/lampp stopmysql
#创建以当前日期为名称的目录
cd /home/mysqlbak
time=$(date '+%Y%m%d')
mkdir $time
cp /opt/lampp/var/mysql/TD_OA/*.* /home/mysqlbak/$time
#备份完成后开启mysql数据库服务
/opt/lampp/lampp startmysql


3、修改文件属性,使其可执行
chmod +x /usr/sbin/bakmysql
 
4、修改/etc/crontab
vi /etc/crontab
#每天3点执行脚本
01 3 * * * root /usr/sbin/bakmysql

5、重新启动crond
/etc/rc.d/init.d/crond restart


========================================================

创建备份任务并自动删除15天以前备份的语句:


创建保存mysql数据库备份文件的目录mysqlbak
mkdir /home/mysqlbak


编辑shell脚本
vi /usr/sbin/bakmysql


加入如下内容:
#关闭mysql数据库服务
/opt/lampp/lampp stopmysql
#创建以当前日期为名称的目录
cd /home/mysqlbak
time=$(date '+%Y%m%d')
mkdir $time
cp /opt/lampp/var/mysql/TD_OA/*.* /home/mysqlbak/$time
#备份完成后开启mysql数据库服务
/opt/lampp/lampp startmysql
#删除9天以前的备份
find /home/mysqlbak -type d -mtime +9 -exec rm -rf {} ;


3、修改文件属性,使其可执行
chmod +x /usr/sbin/bakmysql
 
4、修改/etc/crontab
vi /etc/crontab
#每天3点执行脚本
01 3 * * * root /usr/sbin/bakmysql


5、重新启动crond
/etc/rc.d/init.d/crond restart


原文地址:https://www.cnblogs.com/reblue520/p/6239900.html