标题:[实践OK]Linux下如何用sync复制也就是同步2个位于【本地磁盘和移动硬盘或U盘usb或远程服务器上】文件夹中的所有内容 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Fri, 29 Jul 2016 16:44:34 +0000 作者:jackxiang 地址:http://jackxiang.com/post/8846/ 内容: 背景:如果一个文件目录很大且需要定时同步,怎么办,linux下有一个rsync,同步到的可能是本地,更多是同步到把nas给mount上来的一个网络超大磁盘,这就很有用了。 /usr/bin/rsync -avh /backup/yum.xxxx.com /data/www #Ansible: 将打包机在OSS对象存储的RPM包30秒备份到物理磁盘供Nginx仓库访问 */1 * * * * /usr/bin/rsync -avh /backup/yum.xxxx.com /data/www >/dev/null 2>&1 #Ansible: 将打包机在OSS对象存储的RPM包30秒备份到物理磁盘供Nginx仓库访问30sec */1 * * * * sleep 30 && /usr/bin/rsync -avh /backup/yum.xxxx.com /data/www >/dev/null 2>&1 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 Generated by Jackxiang's Bo-blog 2.1.1 Release