按日期使用 7zip

按日期使用 7zip

如何使用 7zip 和命令行按修改日期选择某些文件并使用批处理文件自动执行?

答案1

好的。我使用 Robocopy 保留了一定年限或更久的数据,然后使用 7za 压缩并删除了临时文件。如下所示:

mkdir C:\Robocopy\Archive\Spool
mkdir C:\Robocopy\Archive\Spool\BackupLogs
mkdir C:\Robocopy\Archive\Spool\DRLogs

robocopy c:\Robocopy\Backup\BackupLogs\ C:\Robocopy\Archive\Spool\BackupLogs\ /move /minage:60
robocopy C:\Robocopy\Backup\DRLogs\ C:\Robocopy\Archive\Spool\DRLogs\ /move /minage:60
7za a c:\Robocopy\Archive\Archive.7z C:\Robocopy\Archive\Spool\

rmdir /S /Q C:\Robocopy\Archive\Spool

我在这里处理两组日志文件,一组是现场备份,一组是异地灾难恢复(DR)备份。

Robocopy 位于 Windows 资源工具包 (这是 Server 2003 版本) 并具有一些非常酷的功能。我在这里使用的是 /minage 参数,我使用它来指定将超过 60 天的日志文件移动(而不是复制)到 Spool 目录内的适当文件夹。然后我将 Spool 目录的内容压缩到第三个位置,最后删除 Spool 目录。

答案2

/path/to/your/folder在 Linux 系统上,以下命令应将超过 7 天的文件压缩到archive.7z文件中:

find /path/to/your/folder -mtime +7 -exec 7z a archive.7z {} \; 

但它不会保留目录结构。类似的命令首先创建一个 tar 存档,然后使用它进行压缩,7z应该可以完成这项工作:

$ find /path/to/your/folder -mtime +7 -exec tar cf archive.tar {} \;
$ 7z a archive.tar.7z archive.tar

相关内容