You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将上周修改、以C开头的CSV文件移至指定路径并配置Cron定时任务

实现方案

1. 核心筛选与移动命令

使用find命令精准匹配目标文件并移动,逻辑如下:

  • 仅在源目录一级查找(不递归子目录)
  • 匹配以C开头的.csv文件
  • 筛选修改时间在上周一0:00:00至上周日0:00:00的文件
  • 将符合条件的文件移动到备份目录

直接执行的命令:

find /home/initialdirectory -maxdepth 1 -type f -name "C-*.csv" -newermt "$(date -d 'Monday last week' +%Y-%m-%d) 00:00:00" ! -newermt "$(date -d 'Sunday last week' +%Y-%m-%d) 00:00:00" -exec mv {} /home/initialdirectory/backup/ \;

命令参数说明

  • -maxdepth 1:限制查找范围为源目录本身,不遍历子目录
  • -type f:仅匹配文件,排除目录类型
  • -name "C-*.csv":匹配文件名以C-开头、.csv结尾的文件
  • -newermt <时间>:筛选修改时间晚于指定时间的文件
  • ! -newermt <时间>:筛选修改时间不晚于指定时间的文件
  • -exec mv {} <目标目录> \;:对每个找到的文件执行移动操作

2. 配置Cron定时任务

要在每周日0:00:00自动执行上述操作,需配置Cron任务,推荐两种方式:

方式一:直接写入Cron表达式

编辑当前用户的Cron任务列表:

crontab -e

添加以下内容(注意单引号转义):

0 0 * * 0 /bin/bash -c 'find /home/initialdirectory -maxdepth 1 -type f -name "C-*.csv" -newermt "$(date -d '\''Monday last week'\'' +%Y-%m-%d) 00:00:00" ! -newermt "$(date -d '\''Sunday last week'\'' +%Y-%m-%d) 00:00:00" -exec mv {} /home/initialdirectory/backup/ \;'

方式二:使用脚本维护(推荐)

将命令封装为脚本,便于后续修改和维护:

  1. 创建脚本文件/home/initialdirectory/move_c_files.sh:
#!/bin/bash

# 定义目录路径
SOURCE_DIR="/home/initialdirectory"
BACKUP_DIR="/home/initialdirectory/backup"

# 确保备份目录存在,不存在则自动创建
mkdir -p "$BACKUP_DIR"

# 计算上周周一和周日的起始时间
LAST_MONDAY=$(date -d 'Monday last week' +%Y-%m-%d)" 00:00:00"
LAST_SUNDAY=$(date -d 'Sunday last week' +%Y-%m-%d)" 00:00:00"

# 执行查找与移动操作
find "$SOURCE_DIR" -maxdepth 1 -type f -name "C-*.csv" -newermt "$LAST_MONDAY" ! -newermt "$LAST_SUNDAY" -exec mv {} "$BACKUP_DIR"/ \;
  1. 给脚本添加执行权限:
chmod +x /home/initialdirectory/move_c_files.sh
  1. 编辑Cron任务,添加定时执行脚本的规则:
0 0 * * 0 /home/initialdirectory/move_c_files.sh

3. 注意事项

  • 提前验证:执行脚本或直接运行find命令时,可先将mv替换为ls,确认筛选出的文件符合预期
  • 路径问题:Cron环境变量有限,建议命令和脚本都使用绝对路径,避免出现"命令找不到"的错误
  • 目录保障:脚本中已加入mkdir -p命令,避免因备份目录不存在导致移动失败

内容的提问来源于stack exchange,提问作者Yannis_Tr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:15:53