利用rsync同步本地图片文件到服务器(完结篇)
利用rsync同步本地图片文件到服务器(完结篇)
Sandy各位看官本文章为特色要求服务,国内服务器版本请按照七牛同步文件夹文章制作.
为什么这里Sandy要用到这个技能呢?因为打怪的路上很墙…..有备案墙拉,GFW墙拉….太多怪了!所以需要用到这个技能
例如:
本地采集器服务器:192.168.1.2 (windows 7)
本地图片服务器:192.168.1.3 (ubuntu 16)
网络图片服务器:191.1.1.1 (ubuntu 16)
1 | rsync -avz -e ssh /home/wwwroot/default/pic/ root@191.1.1.1:/home/wwwroot/pic |
我们在执行这段代码的时候会要求你输入密码,不利于自动化.
所以我们需要无密码登录SSH
应该怎么做呢?如下操作:
1.首先我们在ubuntu设置无密码登录SSH
现在我们来配置ssh使得通过ssh执行rsync时不再索要密码。在本地服务器上使用ssh-keygen生成公钥和秘钥,如下命令:
1 | $ ssh-keygen |
注意:当它要求您输入passphrase按下enter键,不需要给任何密码
使用ssh-copy-id命令将公钥拷贝至远程主机
1 | $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@191.1.1.1 |
注:执行以上操作时会要求你输入远程主机帐户和密码,然后就会自动将公钥拷贝至远程目录。
现在,你可以不需要密码通过ssh连接到远程主机
再次执行rsync,它将不再要求你输入密码
1 | $ rsync -avz -e ssh /home/wwwroot/default/pic/ root@191.1.1.1:/home/wwwroot/pic |
ubuntu 通过rsync同步到服务器
2.利用crontab定时执行同步
1 | crontab -e |
这样就完成了Rsync部分了
但是问题又来了,我不想在本地图片服务器装个LNMP或者FTP之类的.也不想通过采集器去上传到本地图片服务器(采集东西多了太慢),于是Samba来了
3.本地图片服务器建立Samba
安装Samba
1 | sudo apt-get install samba samba-common-bin |
打开Samba配置文件:
1 | vi /etc/samba/smb.conf |
在其最后添加:
1 | [share] |
创建Samba用户
1 | sudo useradd username |
重启Samba
1 | sudo service smbd restart |
测试
在Ubuntu的Files底部的Network中选择Connect to Server, 然后在弹出来的对话框中深入smb://192.168.1.3/share, 然后点击右下角的Connect按钮. 此时会提示输入密码(在第3步中创建),输入密码后即可进入共享目录。
在Windows电脑上,输入“\192.168.1.3\share”,然后输入用户名(share)和密码后,既可以访问了! 或者通过我的电脑右键映射服务器也可以
然后把采集器图片保存目录指向网络共享盘即可.这样采集数据就会快很多了

