2012-09-24 99 views
0

可能重複:
Delete all but the most recent X files in bashshell腳本只保留最新的兩個tar文件,但刪除所有其他tar文件?

的之情況如下:

兩個tar文件將在每天的一個目錄中創建的,但我只需要最新的兩個文件,那麼如何每天自動刪除其他文件呢?

是我可以使用純shell命令來寫這個劇本,而不是用高級語言如Perl,Python或Ruby ...

這個問題類似於FTP - Only want to keep latest 10 files - delete LRUhow to delete all files except the latest three in a folder

但我的也需要測試一個tar文件是否損壞

如果新的tar文件損壞,我不會保留它,但保留較舊的文件,那麼腳本應該是什麼樣的?

+0

東西進行(命令和選項),你怎麼測試tar文件完整性? – Jens

回答

0

顯然這是可以使用雙通道方法解決的。

  1. 檢測並刪除損壞的tar文件。
  2. 除去所引用問題中所述的最新N個文件。

第一遍可以沿

for t in *.tar; do 
    if program_that_checks_tar_file_for_integrity $t; then 
     : # OK 
    else 
     rm $t 
    fi 
done