移动 30 分钟前的文件
Move files that are 30 minutes old
我使用的服务器系统不允许我存储超过 50 GB 的文件。我的应用程序需要 20 分钟才能生成一个文件。有什么办法可以将所有超过 30 分钟的文件从源移动到目标?我试过 rsync
:
rsync -avP source/folder/ user@destiantionIp:dest/folder
但这不会从我的服务器中删除文件,因此存储限制失败。
其次,如果我使用 mv
命令,仍在生成的文件也会移动到目标文件夹,程序会失败。
您可以将 find
与 -exec
一起使用:-
根据需要将 /sourcedirectory
和 /destination/directory/
替换为源路径和目标路径。
find /sourcedirectory -maxdepth 1 -mmin -30 -type f -exec mv "{}" /destination/directory/ \;
该命令的基本作用是,它会尝试在当前文件夹 -maxdepth 1
中查找 30 分钟前 -mmin -30
上次修改的文件,并将它们移动到指定的目标目录。如果要使用上次访问文件的时间,请使用 -amin -30
.
或者如果你想查找在某个范围内修改的文件,你可以使用类似 -mmin 30 -mmin -35
的东西,这将让你找到修改时间超过 30 但不到 35 分钟前的文件。
来自 man
页面的引用:-
-amin n
File was last accessed n minutes ago.
-atime n
File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime
+1, a file has to have been accessed at least two days ago.
-mmin n
File's data was last modified n minutes ago.
-mtime n
File's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.
我使用的服务器系统不允许我存储超过 50 GB 的文件。我的应用程序需要 20 分钟才能生成一个文件。有什么办法可以将所有超过 30 分钟的文件从源移动到目标?我试过 rsync
:
rsync -avP source/folder/ user@destiantionIp:dest/folder
但这不会从我的服务器中删除文件,因此存储限制失败。
其次,如果我使用 mv
命令,仍在生成的文件也会移动到目标文件夹,程序会失败。
您可以将 find
与 -exec
一起使用:-
根据需要将 /sourcedirectory
和 /destination/directory/
替换为源路径和目标路径。
find /sourcedirectory -maxdepth 1 -mmin -30 -type f -exec mv "{}" /destination/directory/ \;
该命令的基本作用是,它会尝试在当前文件夹 -maxdepth 1
中查找 30 分钟前 -mmin -30
上次修改的文件,并将它们移动到指定的目标目录。如果要使用上次访问文件的时间,请使用 -amin -30
.
或者如果你想查找在某个范围内修改的文件,你可以使用类似 -mmin 30 -mmin -35
的东西,这将让你找到修改时间超过 30 但不到 35 分钟前的文件。
来自 man
页面的引用:-
-amin n
File was last accessed n minutes ago.
-atime n
File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime
+1, a file has to have been accessed at least two days ago.
-mmin n
File's data was last modified n minutes ago.
-mtime n
File's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.