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

时间:2023-03-09 13:19:33
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