Linux下如何用sync同步2个位于【本地磁盘和移动硬盘或U盘usb或远程服务器上】文件夹中的所有内容 不指定

jackxiang 2016-7-29 16:44 | |
背景:如果一个文件目录很大且需要定时同步,怎么办,linux下有一个rsync,同步到的可能是本地,更多是同步到把nas给mount上来的一个网络超大磁盘,这就很有用了。

rsync -avh #备注:只是增量同步,远端有不一样的文件,它不会自动删除。
rsync -avh --delete gliethttp/ /media/udisk/gliethttp
其中gliethttp/为src这里的结尾/很重要,这表示同步的是gliethttp/目录中的内容,而不是gliethttp目录本身.
/media/udisk/gliethttp为dst
表示将src中的内容与dst进行严格同步,如果dst不存在,那么创建之.
-r 表示递归目录
-t 表示保留时间
-l 表示保留符号链接

我们也可以使用ssh辅助rsync远程同步文件夹
luther@gliethttp:~$ rsync -avh --delete luther@127.0.0.1:/media/udisk/gliethttp/ gliethttp.local
默认使用ssh远程登录luther用户,然后使用ssh加密通道进行数据传输,同步/media/udisk/gliethttp/文件夹中的内容到本地的gliethttp.local目录下

网上有通过配置/etc/rsyncd.conf来设置访问权限,个人感觉很不安全,远远不如使用成熟的ssh进行数据加密,对于用户认证,可以将生成的.ssh对应的key发布出去,这样就不用每次输入密码了[luther.gliethttp]
《windows登陆远程Linux主机的一种途径putty-详细安装使用过程》
下面看看如何创建key
1. luther@gliethttp:~$ ssh-keygen -t rsa
2. 将~/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys
3. 将私钥~/.ssh/id_rsa拷贝到远程客户端的~/.ssh/目录下
当然可以安装rsync的GUI版本grsync
luther@gliethttp:~$ sudo apt-get install grsync

来自:http://blog.chinaunix.net/uid-20564848-id-74200.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/8846/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2017-8-28 14:37
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]