使用rsync 实现服务器文件同步
来源:互联网 发布:膨胀腐蚀算法原理 编辑:程序博客网 时间:2024/05/17 07:10
隔壁公司同事询问我linux 文件同步怎么做?这个问题一下问住我了。之前虽然有过了解。但也没用在实际工作上面。今天就大概给大家说一下linux 文件同步。
分别在两个服务器下面新建两个自己能测试的文件夹,如果所示
用test-data代表从服务器。 test 代表主服务器
在test 文件中新建3个文件命名为111,222,333
我们先用rsync 基本命令先测试一下
输入 rsync -v -e ssh /alibaba/test/* root@IP:/alibaba/test-data
可以看到在test-data 目录下面已经出现了这3个文件。(因为之前做过测试,ssh 密钥一直存在,所以运行命令是直接可以传输的,如果你是第一次做这个。运行命令它会让你输入ssh密码)
如果对-v -e 不是很了解请转到这里点击打开链接。
前面这块其实很简单,有些文章也能看见。接下来就是重点。我们如何让他自动化进行同步呢。我在网上搜了搜。有一篇文章博主是在rsync 配置文件中进行从服务器编写。貌似还需要在新建密码文件。看了半天感觉有点复杂。为什么不能简单化呢??
ok 之前的命令是可以同步。但是有两个问题。
1.每次运行都要输入服务器密码。
2.不能定时定点进行同步。
想到这里,有什么好的办法解决这样的问题??
针对第一个问题。。。
rsync配置文件里面可以配置要同步的服务器信息。但我觉得这样太过于复杂。每次还需要重复书写服务器信息到配置文件。还有什么解决办法呢? 我想到了ssh密钥。就像在git管理一样。我们把每个要提交的服务器密钥添加进服务器这样就不需要重复输入密码。直接提交就行。也方便管理。
(密钥虽然方便。但又一个问题。如果一台机器被攻破,一个黑客很容易跳到下一个系统而不登录。所以明智地选择是关键)
为此我编写了一个shell脚本,来自动化密钥安装。
针对第二个问题。。。
为了让您的数据每小时同步一次,请打开crontab编辑器:
crontab -e
0 * * * * /alibaba/test.sh
在test.sh 里面我们写入刚才的运行命令。注意shell 脚本的书写格式。保存并赋予权限chmod u+x test.sh
上面的*号代表的大致意思是
-分钟(0-59)
-小时(0-23)
-一个月的第几天(1-31)
-月(1-12)
-星期几(0-6) 0代表星期天
如果是每分钟执行
* * * * * /alibaba/test.sh
如果凌晨1点更新0 1 * * 5
/alibaba/test.sh
以上就是文件同步的大致思路。大家可以举一反三。
- 使用rsync 实现服务器文件同步
- 使用rsync实现文件同步
- Rsync实现服务器文件定时同步备份
- rsync 实现文件同步
- rsync实现文件同步
- rsync实现文件同步
- rsync实现文件同步
- rsync实现文件同步
- 使用rsync同步文件
- Linux中使用rsync实现多服务器之间文件同步问题
- Linux中使用rsync实现多服务器之间文件同步问题
- linux rsync服务器文件同步
- inotify + rsync 使用触发同步机制 实现文件 "实时同步"
- Linux下利用rsync实现多服务器文件同步
- rsync+inotify实现服务器之间文件实时同步
- rsync+inotify实现服务器之间文件实时同步
- Linux下rsync实现多服务器文件同步
- rsync+inotify实现服务器之间文件实时同步
- MySQL generated column
- Cocos论坛九问九答
- 吴恩达,李开复等专家组队打造2017AI趋势报告(附报告全文和完整数据包)
- Android studio3.0更新后 android.support.v4.animation.AnimatorCompatHelper找不到
- Ubuntu16.4kylin 安装 teamviewer12乱码问题
- 使用rsync 实现服务器文件同步
- Win7 VS2015编译caffe cpu版本
- spring配置property文件
- table的定位 关于每次启动firebug插件消失问题
- 富文本 文件上传
- CSS 框架 Bulma
- HOG detectMultiScale 参数分析
- 通过制定连接打开APP中指定的页面处理方法
- Creator使用压缩纹理