持续运行 bash 脚本

  • 本文关键字:脚本 bash 运行 bash
  • 更新时间 :
  • 英文 :

{ while IFS=';' read  u1 p1 u2 p2; do
            imapsync/imapsync --usecache --host1 secure.emailsrvr.com --user1 "$u1" --password1 "$p1" 
                     --host2 imap.gmail.com --ssl2 --user2 "$u2" --password2 "$p2" ...
     done ; } < users1-33.txt

如何持续运行此脚本,以便在它完成时重新开始?

许多 UNIXy 系统都有一个名为 watch 的工具,它将重复执行一个命令(默认情况下每 2 秒执行一次)。虽然watch不是标准的POSIX工具,但如果您拥有或可以安装它,那么这是一种非常简单的方法,可以基本上实现您的要求。将您的代码放在一个文件中并因此观看它:

watch bash -c your_script

尝试将其包装在函数中并迭代它。

function go()
{
    { while IFS=';' read  u1 p1 u2 p2; do
            imapsync/imapsync --usecache --host1 secure.emailsrvr.com --user1 "$u1" --password1 "$p1" 
                     --host2 imap.gmail.com --ssl2 --user2 "$u2" --password2 "$p2" ...
     done ; } < users1-33.txt
}
while true
do
    go
done

或者,您可以从另一个文件中引用go()

   #!/bin/sh
   . /the/original/source_file.sh
   go

您是否考虑过将脚本放在crontab中以每分钟运行一次?

所以在基于 Debian 的系统上。(乌班图)

crontab -e

# m h  dom mon dow   command
*/1 * * * * /usr/local/bin/scriptToRun.sh

会让脚本每分钟运行一次

更多关于 Cron 的信息

相关内容

  • 没有找到相关文章

最新更新