2016-11-14 102 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