> Linux教程 > 系统运维 >

shell批量添加计划任务

#!/bin/bash





for i in `cat ./iplist.ini `

do

    echo $i

    scp ./MonitorProcess.sh $i:/home/haoren/

    ssh $i "(echo '*/5 * * * * /home/haoren/MonitorProcess.sh' ;crontab -l) |crontab"

    echo "Synchronization is complete."

done



crontab总是不会缺省的从用户profile文件中读取环境变量,也就是说,要么是环境变量的问题,要么就是路径的问题。解决办法如下:

  1、所用命令使用绝对路径;

  2、调用的脚本开头部分添加如下内容,以便读到用户的环境变量参数,解决环境变量的问题;  



例: #!/bin/bash

    . /etc/profile

    . ~/.bash_profile

  3、也可以添加如下如何,方便查看脚本执行情况;



  例:* * * * *  echo|/tmp/test.sh >>/tmp/test/txt



  4、可以通过tail -f /var/log/cron,查看任务是否执行。



(责任编辑:IT)