Shell实操(五):批量移动日期格式目录

目录

一、需求

二、实现及关键知识点

1、脚本内容

2、关键知识点

三、验证


一、需求

目录/data/test/下有若干目录,如/data/test/hss、/data/test/yuhui,再进一层为以日期命名的目录,每天都会生成一个该类型目录,如/data/test/yuhui/20231202。由于/data所在磁盘快满了,所以需要将老文件(一年前)挪到另一目录/data2/test下,挪完后做软连接。注意:要确保老文件成功挪到/data2/test后才能做软连接,需要记录操作日志。

二、实现及关键知识点

1、脚本内容

# cat 5.sh
#! /bin/bash

main()
{
cd /data/test
#遍历第一层目录
    for dir1 in `ls`
do
    #遍历第二层目录,使用find只查找当前目录下一年前子目录
        for dir2 in `find $dir1 -maxdepth 1 -type d -mtime +365`
        do
            #拷贝目录,使用-R可以自动级联创建目录层级
            rsync -aR $dir2/  /data2/test
            if [ $? -eq 0 ]
            then
                rm -rf $dir2
                echo "/data/test/$dir2 移除成功"
                ln -s /data2/test/$dir2    /data/test/$dir2  && \
                echo "/data/test/$dir2成功创建软连接"
                echo
            else
                echo "/data/test/$dir 未移动成功"
            fi
         done
     done
}


main &>/tmp/move_old_data_`date +%F`.log

2、关键知识点

(1)通过main函数形式定义脚本日志

(2)find 使用-maxdepth定义查找目录层级

(3)使用“\ +回车”换行

(4)rsync命令-R参数的使用

三、验证

#准备测试目录
# pwd
/usr/local/src/shell/test/yuhui
# ll
总用量 0
drwxr-xr-x 2 root root 6 12月  4 21:41 20231202
drwxr-xr-x 2 root root 6 12月  4 21:40 20231203
drwxr-xr-x 2 root root 6 12月  4 21:40 20231204
# touch -d "2021-09-30" *
# ll
总用量 0
drwxr-xr-x 2 root root 6 9月  30 2021 20231202
drwxr-xr-x 2 root root 6 9月  30 2021 20231203
drwxr-xr-x 2 root root 6 9月  30 2021 20231204
# mkdir /data2/test  -p
#执行脚本
# bash 5.sh

#查看执行结果,目录已拷贝
# ll /data2/test/yuhui/
总用量 0
drwxr-xr-x 2 root root 6 9月  30 2021 20231202
drwxr-xr-x 2 root root 6 9月  30 2021 20231203
drwxr-xr-x 2 root root 6 9月  30 2021 20231204

#软连接目录已创建
# ll /data/test/yuhui/
总用量 0
lrwxrwxrwx 1 root root 26 12月  4 21:58 20231202 -> /data2/test/yuhui/20231202
lrwxrwxrwx 1 root root 26 12月  4 21:58 20231203 -> /data2/test/yuhui/20231203
lrwxrwxrwx 1 root root 26 12月  4 21:58 20231204 -> /data2/test/yuhui/20231204

#查看执行日志
# cat /tmp/move_old_data_2023-12-04.log
/data/test/yuhui/20231204 移除成功
/data/test/yuhui/20231204成功创建软连接

/data/test/yuhui/20231203 移除成功
/data/test/yuhui/20231203成功创建软连接

/data/test/yuhui/20231202 移除成功
/data/test/yuhui/20231202成功创建软连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值