crontab定时磁盘迁移或删除

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}日志清除完成。"

参考:
Linux Crontab 定时任务
shell date 获取昨天日期

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用crontab定时删除文件,你需要编写一个shell脚本来执行删除操作,并在crontab中配置相应的定时任务。你可以按照以下步骤进行操作: 1. 创建一个shell脚本:使用文本编辑器创建一个新的文件,例如delete_files.sh,并在文件中添加以下命令: ``` #!/bin/bash find /path/to/files -mtime +7 -name "*.out" -exec rm -rf {} \; ``` 这个脚本会查找指定路径下7天前的所有以".out"结尾的文件,并将其删除。 2. 保存并赋予可执行权限:保存脚本文件,并使用chmod命令赋予可执行权限,例如: ``` chmod +x delete_files.sh ``` 3. 配置crontab定时任务:运行以下命令编辑crontab: ``` crontab -e ``` 4. 在打开的crontab文件中,添加一行来配置定时任务。例如,如果你想每天凌晨3点执行删除操作,可以添加以下内容: ``` 0 3 * * * /path/to/delete_files.sh ``` 5. 保存并关闭crontab文件。 现在,crontab将会每天凌晨3点自动执行delete_files.sh脚本,并删除指定路径下7天前的所有以".out"结尾的文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [linux crontab 定时清除日志](https://blog.csdn.net/weixin_43275578/article/details/127926876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [crontab定时任务不执行的一些原因总结](https://download.csdn.net/download/weixin_38670186/14091181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值