热门标签 | 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



推荐阅读
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
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社区 版权所有