我选择了一个涉及Ubuntu Web服务器的小项目,该项目使用Rsync来拾取内容(图像和CSV文件以导入到mySQL db中),该项目每隔10分钟运行一次以进行平滑更新。
直到最近,它已经运行了好几年。由于我怀疑以前的设置可能不是设置最完善和最安全的选项,因此,我很感谢经验丰富的人员就如何重做提供了一些建议。
目前,最近停止工作的系统的运行方式如下:
在网络服务器上,此行在crontab中运行:
*/10 * * * * root /home/a/b/abc/web/rsync.script
rsync.script文件的内容如下:
#! /bin/sh
# This script updates the website with the latest CSV by RSYNC and imports the CSV into the MySQL database.
# Now also imports the product images from the office server (added 26/10/2011).
# Step 1 - clearing away the previous data
rm /home/a/b/abc/web/public_html/import/csvdata/*
# Step 2 - getting the new CSV and updating the product image directory
rsync -a office.address.here::abc /home/a/b/abc/web/public_html/import
# Step 3 - chown/chmod what we have imported
chown -R 2022:sites /home/a/b/abc/web/public_html/import
chmod -R 744 /home/a/b/abc/web/public_html/import/*
chmod 0755 /home/a/b/abc/web/public_html/import/csvdata
chmod 0755 /home/a/b/abc/web/public_html/import/images
# Step 4 - run the PHP to import the new CSV into the database
cd /home/a/b/abc/web/public_html
php /home/a/b/abc/web/public_html/csv-import.php
exit 0
我已经确定损坏的部分是上面的第2节。尝试从Web服务器命令行手动运行时,会出现以下结果:
admin @ webserver:/ home / a / b / abc / web#sudo rsync -a office.address.here::abc / home / a / b / abc / web / public_html / import
@ERROR:无法打开锁定文件
rsync错误:在main.c(1522)[receiver = 3.0.4]下启动客户端-服务器协议(代码5)时出错。
Web服务器上没有/etc/rsync.conf或/etc/rsyncd.conf文件。考虑到本示例中的使用方法,我不确定最初是否有人或是否需要它。
在办公室计算机上,这是一个Debian盒子,我们有以下/etc/rsync.conf文件:
max connections = 2
log file = /var/log/rsync.log
timeout = 500
[abc]
comment = ABC RSync
path = /home/abc/samba_websync/websync/
read only = no
list = yes
uid = abc
gid = abc
#auth users = mongrel
list = yes
#hosts allow = 127.0.0.0/8 192.168.0.0/24
#secrets file = /etc/rsync.secrets
令我担心的是,显然在整个通信过程中没有安全措施。
我花了整整一天时间阅读许多howto和教程,并且坦白地说,如果有的话,它会变得更加混乱。我确信我不想修复当前系统。我想实施一个更安全,更好的系统。新系统需要:
1-仅同步在办公室机器上所做的更改,因为有很多产品的图像文件,我们不想每10分钟转移一次!
2-通信需要无缝对话,而无需手动输入密码。
Web服务器和办公计算机距离一定距离,并且不在LAN内。他们通过Internet进行通信。
我愿意采用最佳,高效的方法来实现这一目标!
先感谢您。 :)
我可以同时访问两台计算机
最佳答案
您看过Unison吗?
我发现它相对容易设置和维护,并提供了许多有用的功能。
与Rsync不同,Unison会更新两个副本,但您可以使用-nocreation
和-noupdate
将其单向。
要将其与crontab一起使用,请参见-batch
选项。
关于linux - 从crontab设置自动rsync以便通过互联网将内容从一台linux机器同步到另一台linux机器的 final方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25542513/