正文
当使用rclone进行文件传输,比如使用rclone sync
从ftp服务器下载文件,可能会需要指定时间范围,此时可以使用到–max-age、–min-age参数。
关于这两个参数,rclone sync
命令页面的文档中,描述如下:
–max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
仅传输早于指定时间范围的文件,可指定时间单位为毫秒、秒、分、小时等。
–min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
仅传输晚于指定时间范围的文件,可指定时间单位为毫秒、秒、分、小时等。
这里对于早(younger) 和晚(older) 的概念是时间上的,而不是数值的大小上的。比如小明1995年生人,小红1996年生人,那么在岁数上,就是小明比小红更年长(older),小红比小明更年轻(younger)。
用一个简单的时间轴概括的话,大概如下:
示意图
举例
例一
假设当前的现实时间是2023-10-24,现需要下载2023-10-20至今的文件,那么命令为:
rclone sync \
remotre:path \
dst:path \
--max-age 4d
2023-10-20 距离 今日(2023-10-24) 相差4天,所以时间参数为4d
,而又因为,今日(2023-10-24) 在时间上比2023-10-20更年轻,所以使用的参数为–max-age
。
例二
假设当前的现实时间是2023-10-24,现需要下载2023-10-20以及在这之前的文件,那么命令为:
rclone sync \
remotre:path \
dst:path \
--min-age 4d
此时我们要下载的文件,在岁数上比指定的日期更年长,即它们的修改时间必须全部早于或等于2023-10-20,所以此时采用的参数为–min-age
。
例三
假设当前的现实时间是2023-10-24,现需要下载2023-10-1~2023-10-10之间的文件,那么命令为:
rclone sync \
remotre:path \
dst:path \
--min-age 14 \
--max-age 23
我们分开来看:
- 时间范围的起点为2023-10-1,距离今日(2023-10-24)相差23天,即
23d
。同时,文件的时间需要全部晚于2023-10-1,即要比这个时间更年轻,所以对应的参数为-max-age
。 - 时间范围的终点为2023-10-10,距离今日(2023-10-24)相差14天,即即
14d
。同时,文件的时间需要全部早于2023-10-10,即要比这个时间更年长,所以对应的参数为–min-age
。