2015-10-17 32 views
0

我通常會下載大量的圖像,並經常使用cleanup.sh文件進行清理,該文件只包含rm -rf *命令。是否可以計算文件執行的次數?

我的查詢是,我想知道做了多少次。就像說,在另一個文件中,我想追加文件已被執行的信息。 他們有什麼辦法嗎?

回答

1
echo $(($(cat other.file)+1)) > other.file; 
  • $(cat other.file)一個讀取other.file
  • $((...+1))增加它的內容算上線。
  • echo ... > other.file寫入結果返回給other.file

當然,這需要你與內容0創建初始other.file

+0

如果您將輸出重定向到同一個文件,則不能安全地從other.file中讀取數據。看到這個問題:http://stackoverflow.com/questions/6696842/bash-redirect-input-from-file-back-into-same-file/6697219#6697219 – Lynch

+0

在這種情況下,這是可以的,因爲命令替換是在輸入重定向之前評估。問題出現在'cat foo.txt> foo.txt' – chepner

+0

@Lynch這種問題只發生在閱讀結束前寫入開始時。 'cat'不是這種情況。 – Siguza

1

在你的cleanup.sh中,你可以做rm -rf * && date >> cleanup.runs.log。這樣,無論何時運行它,日期/時間都會寫入日誌文件,您可以使用它來計算腳本執行的次數和時間。

1

這可能工作:

echo "Script was executed" >> logFile 

然後你可以使用wc -l

+0

或者爲了同樣的目的使用[logger(1)](http://man7.org/linux/man-pages/man1/logger.1.html) –

+0

不錯。然而,他需要grep系統日誌,可能不止一次自舍入,舊值將被eventuall刪除。 –

相關問題