# Function: 压缩备份文件
src_dir="/data/"
bak_dir="/data.bak/"
while :
do
# 现获取所有的目录
cd $src_dir && dirs=`ls -l |egrep '^d' |awk '{print $NF}'`
for dir in $dirs:
do
tar zcf ${dir}.tgz $dir #压缩目录
mv ${dir}.tgz $bak_dir #移动压缩包到备份目录
done
sleep 5 #每5s钟检查一次
done #!/bin/bash
# Function: 解压备份文件
src_dir="/data/"
bak_dir="/data.bak/"
while :
do
# 现获取所有的目录
cd $bak_dir && tgzs=`ls *.tgz`
for tgz in $tgzs:
do
tar xf $tgz -C src_dir #将压缩包解压到src_dir目录下
rm -f $tgz #删除压缩包
done
sleep 5 #每5s钟检查一次
done
如上两个脚本差不多,只不过压缩和解压的 *** 作对调了一下,我临时写的,没有测试过,仅供参考,希望对你有帮助
每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据;需求:
1,每天4点备份mysql数据;
2,为节省空间,删除超过3个月的所有备份数据;
3,删除超过7天的备份数据,保留3个月里的
10号
20号
30号的备份数据;
#创建shell文件
vim
backup_mysql.sh
mysqldump
-uroot
-p123456
--all-databases
>
/data/dbdata/mysqlbak/`date
+%Y%m%d`.sql
find
/data/dbdata/mysqlbak/
-mtime
+7
-name
'*[1-9].sql'
-exec
rm
-rf
{}
\
find
/data/dbdata/mysqlbak/
-mtime
+92
-name
'*.sql'
-exec
rm
-rf
{}
\
#创建定时任务
crontab
–e
0
4
*
*
*
/data/dbdata/backup_mysql.sh
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)