服务器太多,而且都部署应用都一致,如果跑到每台机器上去执行一个crontab那就台费劲,这时可以从跳板机scp脚本到各个服务器去执行,比如做日志切割等,如下的脚本即类似
#/bin/bash -x
#通过脚本来添加crontab脚本任务
#跳板机上的root用户
DIR_NAME=$HOME/bin
FILE_NAME="rm_compile_file.sh"
CONTENT="0 0 * * * $DIR_NAME/$FILE_NAME"
date=`date -d "15 days ago" +%Y%m%d`
HOSTS="192.168.0.1 192.168.0.2"
function dowork(){
crontab -l >$DIR_NAME/$date
echo -e "\n0 0 * * * $DIR_NAME/$FILE_NAME">>$DIR_NAME/$date
crontab $DIR_NAME/$date
}
for host in $HOSTS;
do
if [ -f $DIR_NAME/$FILE_NAME ];then
#scp $FILE_NAME root@host:$DIR_NAME/$FILE_NAME
echo $host
fi
dowork
echo "finish"
done
本文介绍了一种通过脚本在多台服务器上批量部署Cron任务的方法。利用跳板机scp命令将脚本文件发送到目标服务器,并通过Cron进行定时任务的设置,适用于日志切割等场景。
3049

被折叠的 条评论
为什么被折叠?



