上一篇博文里写了一个使用ftp命令分发ssh密钥的脚本

使用这个脚本配合rexec命令从容部署批量定时任务

首先制作定时任务脚本autobak.sh和定时任务清单crontab.txt 

#cat crontab.txt

00 03 * * *  sh autobak.sh

这两个文件放到脚本执行目录下,并执行脚本

  • #!/bin/ksh  
  • HOST=`cat host_list.cfg|grep -v '#'|awk '{print $1}'`  
  • DATETIME=`date +"%Y-%m-%d %H:%M"`  
  • for HOSTID in $HOST  
  •     do  
  •       ip =`cat host_list.cfg|grep -v '#'|grep $HOSTID |awk '{print $2}'`  
  •       echo "##HOSTID增加主机信息##"  
  •       ftp -i -in -v<<!  
  •       open $ip   
  •       user ftp用户 口令 
  •       cd 定时任务部署目录  
  •       binary  
  •       put autobak.sh
  • put crontab.txt   
  •       bye  
  •       !  
  • rexec -l 执行定时任务的用户 -p 口令 $HOSTID "chmod 775 /脚本路径/autobak.sh;crontab crontab.txt"
  • done