crontab定时磁盘迁移
crontab -e
vi编辑
每天夜里2点执行
0 2 * * * /usr/local/sbin/diskMove.sh > /usr/local/sbin/diskMove.out
#清除日志
0 2 * * * /usr/local/sbin/rmArchDisk66.sh > /usr/local/sbin/rmArchDisk66.out
:wq 保存
保存后展示:
crontab: installing new crontab
迁移shell
#!/bin/bash
# 迁移昨天的备份和日志。
day_diff=1
if [ -n "$1" ]
then
day_diff=`eval echo $1`
echo "入参不为空,转移${day_diff}天前的备份和日志。"
fi
# 1、获取昨天的日期
yesterday=`date +"%Y_%m_%d" -d "-${day_diff} days"`
yesterday2=`date +"%Y%m%d" -d "-${day_diff} days"`
yesterday_year=${yesterday:0:4}
yesterday_month=${yesterday:5:2}
yesterday_day=${yesterday:8:2}
echo "${yesterday2}开始迁移昨天的备份和日志。"
bakdir="/backup/financeBackUp/backup${yesterday_year}/backup${yesterday_month}/"
# 3、备份移动
if [ ! -d ${bakdir} ]; then
echo "创建备份目录${bakdir}"
mkdir -p ${bakdir}
fi
mv /opt/dmdbms/data/DAMENG/bak/DB_DAMENG_${yesterday}* ${bakdir}
echo "${yesterday2}备份迁移完成。"
archdir="/backup/financeBackUp/backup${yesterday_year}/archup${yesterday_month}/"
# 4、日志移动
if [ ! -d ${archdir} ]; then
echo "创建日志目录${archdir}"
mkdir -p ${archdir}
fi
mv /opt/dmdbms/data/DAMENG/bak/ARCHIVE_LOCAL1_${yesterday2}* ${archdir}
echo "${yesterday2}日志迁移完成。"
删除shell
#!/bin/bash
# 清除5天前的日志。
# 1、获取昨天的日期
day_diff=5
if [ -n "$1" ]
then
day_diff=`eval echo $1`
echo "入参不为空,清除${day_diff}天前的日志。"
fi
beforeday10=`date +"%Y%m%d" -d "-${day_diff} days"`
echo "${beforeday10}开始清除${day_diff}天前的日志。"
# 2、清除
rm -rf /opt/dmdbms/data/DAMENG/archlog/ARCHIVE_LOCAL1_${beforeday10}*
echo "${beforeday10}日志清除完成。"