2016-11-14 441 views
-1

我是Shell腳本的新手。請幫忙。shell腳本定期檢查文件

進程正在特定位置創建觸發器文件。我想檢查該文件是否尚未創建。所以我正在編寫一個shell腳本,可以在計劃結束時間前15分鐘運行該腳本。

 function go() 
     { 

      ssh -o StrictHostKeyChecking=no $SSH_User_IP  
      scp $PMROOT/NACO/SrcFiles/SDS/sds/sds_interface_core.trg $SSH_User_IP:$PMROOT_Fload/td_import/interface/sds/sds_interface_core.trg 
      sleep 3                      
     } 
     while true 
     do 
      go 
     done 

我必須檢查的位置是在另一個UNIX機器上,我必須做ssh。所以我需要的幫助是將所有東西放在一起,以便我的腳本可以通過ssh連接並每隔1分鐘檢查一次觸發文件。

回答

0

Ssh返回遠程命令的退出代碼。這應該工作:

while true; do 
    ssh [email protected] "[ -e /path/to/file/to/check ]" 
    if [ $? -eq 0 ]; then 
     echo "file exists!" 
     break 
    fi 
    sleep 60 
done 

哈努哈利

0

這個怎麼樣?

while true; do 
    ssh hostname "test -f /some/file" && { echo "file exists"; break; } 
    sleep 60 
done