日期:2014-05-16  浏览次数:21041 次

如何用linux中的crontab 执行多条定任务命令

方法一:

0-59/2 * * * * rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0.113::test /cygdrive/f/test
0-59/2 * * * * rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0.113::test /usr/htmltest

?

方法二:

0-59/2 * * * * rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0.113::test /cygdrive/f/test;rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0.113::test /usr/htmltest

?

方法三:

0-59/2 * * * * rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0113::test /cygdrive/f/test&&rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0.113::test /usr/htmltest

?

方法四:

0-59/2 * * * * rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0113::test /cygdrive/f/test||rsync -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd administrator@192.168.0.113::test /usr/htmltest

?

?

多个命令可以放在一行上,其执行情况得依赖于用在命令之间的分隔符。

如果每个命令被一个分号 (;) 所分隔,那么命令会连续的执行下去

?

如果每个命令被?&&?号分隔,那么这些命令会一直执行下去,如果中间有错误的命令存在,则不再执行后面的命令,没错则执行到完为止

?

如果每个命令被双竖线(||)分隔符分隔,如果命令遇到可以成功执行的命令,那么命令停止执行,即使后面还有正确的命令则后面的所有命令都将得不到执行。假如命令一开始就执行失败,那么就会执行?||?后的下一个命令,直到遇到有可以成功执行的命令为止,假如所有的都失败,则所有这些失败的命令都会被尝试执行一次

1 楼 gowithweb 2011-12-02  
命令很多的话还是全放在一个脚本文件里比较好