Shell 脚本:自动移动昨日文件到 A 目录并每月压缩
以下是一个示例的 Shell 脚本,可以实现将昨天创建的文件移动到 A 目录中,并在每月最后一天进行压缩:
#!/bin/bash
# 获取昨天的日期
yesterday=$(date -d 'yesterday' +'%Y-%m-%d')
# 获取当前日期
current_date=$(date +'%Y-%m-%d')
# 获取当前月份
current_month=$(date +'%m')
# 获取当月最后一天
last_day_of_month=$(date -d "$(date -d "$(date +'%Y-%m-01') +1 month" +'%Y-%m-01') -1 day" +'%Y-%m-%d')
# 创建 A 目录(如果不存在)
mkdir -p A
# 移动昨天创建的文件到 A 目录中
mv '$yesterday'* A/
# 当天是当月的最后一天时,进行压缩
if [[ "$current_date" == "$last_day_of_month" ]]; then
tar -czvf "${current_month}.tar.gz" A/
fi
注意事项:
- 请确保将该脚本设置为可执行文件(
chmod +x script.sh)。 - 请根据实际需求修改 A 目录的路径和压缩文件的命名规则。
- 该脚本假设文件名中包含了日期信息,如 2021-01-01_file.txt。
- 该脚本使用的日期格式为 "'%Y-%m-%d'",请根据实际情况修改日期格式。
原文地址: https://www.cveoy.top/t/topic/loKw 著作权归作者所有。请勿转载和采集!