`

Linux非root用户修改定时器配置

阅读更多
问题:
    需要统一修改mondev用户对应的定时器配置(var/spool/cron/mondev),而且很多主机都没有root用户密码,所以只能通过mondev用户来修改自身的定时器配置。


首先,root用户直接修改:
#echo '0 */24 * * * /data/mondev/mondo/client/bin/magent status||/data/mondev/mondo/client/bin/magent restart'>/var/spool/cron/mondev


其次使用mondev用户修改:
    1.0 先生成一个临时文件crontab_temp,其内容为修改的定时器内容:
        0 */24 * * * /data/mondev/mondo/client/bin/magent restart

    2.0 写一个脚本文件来覆盖mondev用户的crontab, (mndify_crontab.sh):
       #!/bin/bash

       cronpath=/data/mondev/crontab_temp
       if [ -f $cronpath ]; then
          crontab $cronpath
       fi

    3.0 以mondev用户执行mndify_crontab.sh脚本即可。



主要代码如下:auto.sh
crontab="/root/zhangb/crontab_temp"
crontab_up="/root/zhangb/mndify_crontab.sh"

#复制文件
errm2=`sshpass -p $passwd scp -r -o StrictHostKeyChecking=no $crontab mondev@$ip:/data/mondev/`
errmp=`sshpass -p $passwd scp -r -o StrictHostKeyChecking=no $crontab_up mondev@$ip:/data/mondev/`

#执行脚本
errms=`sshpass -p $passwd ssh -t -o StrictHostKeyChecking=no mondev@$ip "sh /data/mondev/mndify_crontab.sh"`






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics