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天以前备份的语句:
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