使用rsync, 向另外一台服务器同步目录和文件的脚本
#!/bin/bash
#亚特兰蒂斯-同步目录
#定时任务
ini_file="/usr/local/sunlight/conf/rsync-file.ini"
target_ip="10.108.144.2"
pk_file="/usr/local/sunlight/sshkeys/init.pk"
if [ ! -f $ini_file ];then
	echo "[ Error ] `date "+%Y/%m/%d %H:%M:%S"` $ini_file does not exist!"
	exit 1
fi
if [ ! -e $pk_file ];then
		echo "[ Error ] `date "+%Y/%m/%d %H:%M:%S"` $pk_file does not exist!"
		exit 1
fi
while read line
do
	if [[ ! -d $line && ! -f $line ]];then
		echo "[ Error ] `date "+%Y/%m/%d %H:%M:%S"` direcoty or file: $line does not exist!"
		exit 1
	fi
if [ ${line:0:1} != "/" ];then
		echo " [ Error ] $line must start with /"
		exit 1
	fi
if [[ -d $line && ${line:0-1:1} != "/" ]];then
		line="$line/"
	fi
if [ -d $line ];then
		ssh -p2222 -i /usr/local/sunlight/sshkeys/init.pk -o strictHostKeyChecking=no $target_ip  "test -d  $line || mkdir -p $line"
	fi
if [ -f $params ];then
		param_dir=${line%/*}
		ssh -p2222 -i /usr/local/sunlight/sshkeys/init.pk -o strictHostKeyChecking=no $target_ip  "test -d  $param_dir || mkdir -p $param_dir"
	fi
echo "rsync $line......"
	rsync -avztog --progress -e "ssh -p2222 -i /usr/local/sunlight/sshkeys/init.pk -o strictHostKeyChecking=no" ${line} ${target_ip}:${line}
done < $ini_file
使用rsync, 向另外一台服务器同步目录和文件的脚本的更多相关文章
- php 在linux 用fopen() 函数打开,file_get_contents(),fread()函数 读取  另外一台服务器映射过来的文件 总是返回false,null的情况。
		php 在linux 用fopen() 函数打开,fread()函数 读取 另外一台服务器映射过来的文件 总是返回false,null的情况. #获取平台类型 $type='android'; ... 
- php   在linux  用file_exists() 函数判断 另外一台服务器映射过来的文件是否存在  总是返回false
		php 在linux 用file_exists() 函数判断 另外一台服务器映射过来的文件是否存在 总是返回false .如下案例 $type="android"; $url=&q ... 
- puppet使用rsync模块同步目录和文件
		puppet使用rsync模块同步目录和文件 2013-09-23 14:28:57 分类: LINUX 环境说明: OS : CentOS5.4 ... 
- asp.net检查服务器上目录或文件是否存在示例
		原文 asp.net检查服务器上目录或文件是否存在示例 asp.net为我们提供了文件系统对象了,对于目录与文件判断是否存在我们有System.IO.File.Exists与System.IO.Dir ... 
- rsync+inotify实现多台服务器之间数据实时同步
		配置环境 1.操作系统:CentOS6.5-X86_64 2.rsync客户端(rsync+inotify):192.168.200.82 3.rsync服务端:192.168.200.80,192. ... 
- Centos7 rsync+inotify两台服务器同步文件(单向)
		注:本篇介绍的是单向同步,即A文件同步到B,但B的文件不同步到A,双向同步的在下一篇文章中. rsync与inotify不再赘述,直接进入实战. 0.背景 两台服务器IP地址分别为: 源服务器:192 ... 
- rsync 同步多台服务器项目目录
		server1:192.168.10.1server2:192.168.10.2实现server2实时同步server1的数据! ###############server1############# ... 
- CentOS7通过rsync+crontab实现两台服务器文件同步
		centos7系统中已经默认安装rsync 1:主服务器配置 (1)修改rsyncd.conf 配置文件 [root@localhost app]# vi /etc/rsyncd.conf motd ... 
- linux下实现多台服务器同步文件(inotify-tools+rsync实时同步文件安装和配置)
		inotify-tools+rsync实时同步文件安装和配置 注:转载https://www.linuxidc.com/Linux/2012-06/63624.htm 
随机推荐
- Linux  tar压缩命令 排除某个目录 (根据man tar 总结)
			一般直接用tar命令打包很简单,直接使用 tar -zcvf test.tar.gz test 即可. 在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除 ... 
- Redis在linux环境下的安装和部署
			官网:http://redis.io windows版本下载地址https://github.com/MicrosoftArchive/redis/releases 1Redis建议 ... 
- python 转换代码格式
			import os dirname="C:\\Users\\haier\\Desktop\\new" def walk(path): for item in os.listdir( ... 
- 用WebStorm进行Angularjs 2的开发
			环境准备: WebStorm开发工具 https://pan.baidu.com/s/1o8maQLG 提取密码(加群获取599606903) nodejs https://nodejs.org ... 
- linux下grep命令详解
			参数: -a 或 --text : 不要忽略二进制的数据. -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行 ... 
- excle
			1.固定某行列 如果要使一行不动,将光标定位于A2单击中,单击菜单"窗口----冻结窗格" 一行一列的,光标定位于B2单元格中,其它的以此类推 2.自动排序号 自动排序号,就是在某 ... 
- 利用FFMPEG命令进行文件分割
			ffmpeg -ss 00:00:00 -i input.mp4 -c copy -t 60 output.mp4 -ss 表示视频分割的起始时间,-t 表示分割时长,同时也可以用 00:01:00表 ... 
- File 和 导出jar包
			1.File import java.io.File; import java.io.IOException; public class FileTest { public static void m ... 
- 每天CSS学习之direction
			direction是CSS2的属性,它的作用是规定文字书写的方向. 1.ltr:从左到右,即left to right.该值为默认值.如下所示: div{ border:1px solid red; ... 
- EF-一对一关系
			针对关系型数据库来说,需要明了每个对象之间的关系. 它们之间的关系有: 1.一对一(1:1):一个学生只能拥有一张身份证,一张身份证只能属于一个学生: 2.一对多(1:N):一个学生可以拥有几本书,而 ... 
