我需要在CentOS中編寫一個腳本,它將在後臺運行。 該腳本需要檢查文件名「status.txt」是否已經在/root/MyFile文件夾中創建。如果該文件已創建,則應通過腳本捕獲事件。如何在CentOS中創建/複製文件夾中的文件事件?
什麼代碼片段,我應該在我的劇本寫的,所以它得到事件的TXT文件的文件夾中創建了?
任何幫助,非常感謝。
我需要在CentOS中編寫一個腳本,它將在後臺運行。 該腳本需要檢查文件名「status.txt」是否已經在/root/MyFile文件夾中創建。如果該文件已創建,則應通過腳本捕獲事件。如何在CentOS中創建/複製文件夾中的文件事件?
什麼代碼片段,我應該在我的劇本寫的,所以它得到事件的TXT文件的文件夾中創建了?
任何幫助,非常感謝。
如果你的內核是2.6.13比新的,你可以使用inotify機制來實現自己的目標。安裝包inotify-tools和寫劇本,將監視您的文件,使用提供examples
最簡單的辦法:
while true; do
do
[ -e "/root/MyFile/status.txt" ] && { echo file is created; break; }
sleep 1
done
而不是echo file is created
你可以寫你要執行的命令。
您可以用inotify的相同:
inotifywait --format '%f' -m /root/MyFile 2> /dev/null | while read file
do
[ "$file" = status.txt ] \
&& [ -e "/root/Myfile/$file" ] \
&& { echo file is created ; break; }
done
這是解決方案具有的優勢,你會得到的動作瞬間,因爲該文件將被創建。而在第一種情況下,你也會等待第二個。第二個好處是,你需要每秒輪詢文件系統。
但這種方法的缺點也:
status.txt
之前創建了許多文件,則會進行許多其他比較操作。恢復:
我想,你首先需要的解決方案。