热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

集中化管理crontab

#!binbash########################################################################## File Name : rsync_nobody.sh# 
#!/bin/bash
#########################################################################
# File Name 	: rsync_nobody.sh
# Author		: gongy
# Mail			: 	458026734@qq.com
# Created time	: 2016-06-29 09:58:53
# Last modified	: 2016-06-29 09:58:53
# Description	: rsync nobodyfile to remote machine.
#########################################################################

#Loading system function library.
source /etc/init.d/functions

set -e
#defined variable.
DATE=`date +%Y%m%d`
TIME=`date '+%F %H:%M:%S'`
MYSQL_USER=""
MYSQL_PASSWD=""
MYSQL_ADDRESS=""
EXEC_LOG="/app/control_crontab/log/exec_$DATE.log"
DATA_LOG="/app/control_crontab/log/${IP}_data_$DATE.log"
SOURCE_FILE="/app/control_crontab/cron/nobody/"
DIST_FILE="/var/spool/cron"


#get ip list.
ip=(
`mysql -uroot -e "use db_devops;select IP from tbl_all_ip"|sed '1d'`
)

function judge(){
    if [ $? -eq 0 ];then
      action "$TIME-${ip[$i]}-rsync nobody file" /bin/true 
    else
      action "$TIME-${ip[$i]}-rsync nobody file" /bin/false 
      #MSG="${ip[$i]}更新nobody失败"
      #curl "http://alarm.51.com/alarm/index.php?type=1&gid=99&msg=${MSG}" &>/dev/null
    fi
}

function rsync_all(){
#rsync all nobody file.
for ((i=0;i<${#ip[*]};i++))
do
    #rsync同步nobody到RMOTE主机,更新文件.
    rsync -az ${SOURCE_FILE}/nobody-${ip[$i]}  ${ip[$i]}:${DIST_FILE}/nobody &> /dev/null
    judge
done
}
#echo "===========================================================================" >> ${EXEC_LOG}


function rsync_more(){
	#IP=`cat ip_file`
	for IP in `cat ip_file`
	do
		rsync -az ${SOURCE_FILE}/nobody-$IP  $IP:${DIST_FILE}/nobody &> /dev/null
		result
	done

}

function result(){
	if [ $? == 0 ];then
		echo "$TIME-$IP-rsync nobody file....................................................[OK]"
	else 
		echo "$TIME-$IP-rsync nobody file....................................................[FAILED]"
	fi
	sleep 1
}

read -p "Please enter your chose all/one:" input
case $input in
"all")
	rsync_all
	;;
"one")
	read -p "Please enter the file:" ip_file
	rsync_more
	;;
	*)
	exit
	;;
esac



推荐阅读
  • Windows 环境下安装 Git 并连接 GitHub 的详细步骤
    本文详细介绍了如何在 Windows 系统中安装 Git 工具,并通过配置 SSH 密钥实现与 GitHub 的安全连接。包括下载、安装、环境配置及验证连接等关键步骤。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 本文详细介绍如何通过设置SSH密钥来获取连接GitHub远程仓库的权限,包括生成密钥、添加到GitHub账户以及验证连接等步骤。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • 本文探讨了如何使用ls -lsh命令排除总大小输出,仅显示文件大小的方法,并提供了几种实现这一目标的解决方案。 ... [详细]
  • 了解如何快速搭建属于自己的个人博客,无需编程基础,适合Mac和Windows用户。通过本文,您将学会使用GitHub Pages和Hexo构建一个完全自主的在线空间。 ... [详细]
  • 本文基于《Linux命令行与Shell脚本编程大全》第三版的第十一章内容,探讨了如何构建基本的Shell脚本,包括命令组合、脚本创建、消息显示、变量使用、输入输出重定向、管道、数学运算及脚本退出等方面的知识。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 本指南详细介绍了如何在同一台计算机上配置多个GitHub账户,并使用不同的SSH密钥进行身份验证,确保每个账户的安全性和独立性。 ... [详细]
  • Python编码入门指南
    本文探讨了使用Python进行网络设备连通性测试的简便性,特别是针对IP地址范围为192.168.0.101至192.168.0.200的设备。通过比较Python与Shell、Java等语言,展示了Python在执行此类任务时的优势。 ... [详细]
author-avatar
手机用户2502895517
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有