我每月归档一次 10 MB 的文件,然后通过电子邮件发送。下个月,我需要删除存档中的前几个月文件并添加新文件。这样我就可以将空间保持在较低的水平。除了取消存档和搜索然后存档之外,我还没有找到方法!
文件名以上个月的日期结尾。文件名20130430.csv,日期是可变日期。
有任何想法吗?
如果您使用的是info ZIP,您可以使用“-d”有选择地从存档中删除文件,例如:
zip -d archive.zip filename201304\*.csv
您还可以根据修改日期删除文件(注意日期格式为 mmddyyyy 或 yyyy-mm-dd),例如。删除 2013 年 5 月 1 日之前的所有 csv 文件:
zip --before-date 05012013 -d archive.zip \*.csv
并在没有任何选项的情况下将文件添加到存档中:
zip archive.zip filename20130531.csv
为了节省磁盘空间,您可以将所有 CSV 文件转换为 ZIP:
# ZIP all CSV files older than 14 days within the same directory
find /your/directory/*.csv -mtime +13 -execdir zip -rm ./'{}'\.zip '{}' \;
请参阅有关find -execdir和zip -rm的手册。