目前我只有RSync的Directories是这样的: * * * * * rsync -avz /var/www/public_html/images root@<remote-ip>:/var/www/public_html 那么我如何rsync一个文件,如/var/www/public_html/.htaccess ?
我正在尝试rsync与server2的目录B server1的目录A. 坐在server1的目录A中,我运行了下面的命令。 rsync -av * server2::sharename/B 但有趣的是,它同步除目录A中的.htaccess或任何隐藏文件之外的所有文件和目录。子目录中的任何隐藏文件都会被同步。 我也尝试了下面的命令: rsync -av –include=".htaccess" * server2::sharename/B 但结果是一样的。 任何想法为什么隐藏文件的目录没有得到同步和如何解决它。 我以root用户身份运行。 谢谢
我试图用不同的名称同步两个文件夹的内容: rsync -av ~/foo user@remote.com:/var/www/bar 我想将foo的内容复制到远程主机的bar中,而不是foo的目录本身。 我试过类似foo/* ,但rsync不支持。 rsync总是创build /var/www/bar/foo
我试图理解两种select之间的区别 rsync –size-only 和 rsync –ignore-times 我的理解是,默认情况下,rsync会比较时间戳和文件大小,以决定文件是否应该同步。 上面的选项允许用户影响这种行为。 这两个选项似乎至less在口头上导致相同的事情: 仅按大小进行比较 。 我在这里错过了些微妙的东西吗?
我正在做一个rsync来备份我的服务器文件,我有两个问题: 1 – 在进程的中间,我需要停止并重新启动rsync,我想知道是否rsync将启动在同一点,它停止或将重新启动同步? 2 – 在日志文件显示这个string的所有文件“f +++++++++”,我想知道这是什么意思? 例如: 010/12/21 08:28:37 [4537] >f.st…… iddd/logs/website-production-access_log 2010/12/21 08:29:11 [4537] >f.st…… iddd/web/website/production/shared/log/production.log 2010/12/21 08:29:14 [4537] .d..t…… iddd/web/website/production/shared/sessions/ 2010/12/21 08:29:14 [4537] >f+++++++++ iddd/web/website/production/shared/sessions/ruby_sess.017a771cc19b18cd 2010/12/21 08:29:14 [4537] >f+++++++++ iddd/web/website/production/shared/sessions/ruby_sess.01eade9d317ca79a 谢谢。
我需要通过SSH做rsync,并希望自动执行,而不需要手动为ssh传递密码。
Rsync包含一个漂亮的选项–cvs-exclude来“以与CVS相同的方式忽略文件”,但CVS已经过时了多年。 有没有办法让它排除现代版本控制系统(Git,Mercurial,Subversion)会忽略的文件? 例如,我有很多从GitHub签出的Maven项目。 通常他们包括一个.gitignore ,至less列出target ,默认的Maven构build目录(可能出现在顶层或子模块中)。 由于这些目录的内容完全是一次性的,而且可以远远大于源代码,所以在使用rsync进行备份时,我想排除它们。 当然,我可以明确地说–exclude=target/但是这会意外地压制那些恰好被命名为target并且不应该被忽略的不相关的目录。 我可以为我的磁盘上的任何.gitignore , .hgignore或svn:ignore属性提供的所有文件名和模式的绝对path的完整列表,但这将是一个巨大的列表,必须由某种的脚本。 由于rsync没有内置的CVS以外的VCS检出支持,有没有什么好的方法可以把它们的忽略模式提供给它? 或者某种callback系统,用户脚本可以被询问是否应该包含给定的文件/目录? 更新 :– –filter=':- .gitignore'build议的–filter=':- .gitignore'似乎也适用于Git –filter=:C对于CVS至less在我已经find的例子上做了,尽pipe目前还不清楚语法是完全匹配的。 –filter=':- .hgignore'对Mercurial来说不是很好; 例如,一个包含像^target$ (Git /target/的Mercurial等价物)这样的行的.hgignore不能被rsync识别为正则expression式。 而且什么似乎都没有为Subversion工作,你将不得不parsing.svn/dir-prop-base为1.6或更早版本的工作副本,并为1.7或更高版本的工作副本惊慌失措。
我有一个文件夹a /和一个远程文件夹A /。 我现在在Makefile上运行这样的东西: get-music: rsync -avzru server:/media/10001/music/ /media/Incoming/music/ put-music: rsync -avzru /media/Incoming/music/ server:/media/10001/music/ sync-music: get-music put-music 当我做同步音乐,它首先得到所有的差异从服务器到本地,然后相反,从本地发送到服务器的所有差异。 只有在未来只有更新或新的文件的情况下,这种方法才能正常工作。 如果有删除,它什么也不做。 在rsync中有–delete和–delete-after选项来帮助完成我想要的东西,但是它不能用于双向同步。 如果我想删除syn上的服务器文件,当本地文件被删除时,它可以工作,但是如果由于某种原因(后面解释)我有一些文件不在服务器中,但是存在于本地并且被删除,我想在本地删除它们,而不是服务器复制(因为它发生)。 事情是我在上下文中有3台机器: 桌面 笔记本 家庭服务器 因此,有时,服务器将有文件被删除与笔记本同步,例如,然后,当我运行与我的桌面同步(删除的服务器文件仍然存在),我希望这些文件被删除,而不是再次复制到服务器。 我想这只能用数据库和操作跟踪:P 任何简单的解决scheme? 谢谢。
我想使用Vagrant为我的团队提供一个共同的开发环境。 主机是完全不同的: 有些使用OS X,一些Linux和一些Windows。 有些使用VMware,有些使用VirtualBox。 在VM内部,我们要运行Linux。 到目前为止,一切都很好。 现在我们的想法是,每个开发人员都可以使用他们select的IDE,因此我们引入了一个共享文件夹,共享主机和VM之间的源代码。 这基本上,工作以及…符号链接除外。 在我们的源代码中,我们确实有一些符号链接,这在虚拟机内部的Linux内部不是问题,但是在Windows上,因为主机,这会导致问题。 我们唯一不能做的就是摆脱象征性的联系,所以我们需要另一种方式来处理这个问题。 到目前为止,我们已经尝试了一些select: 在Vagrant的一个问题中提到了一个解决方法,不幸的是这只是VirtualBox,并不能帮助那些运行VMware的人。 到目前为止,我们还没有find在Vagrantfile中运行代码的方法,具体取决于使用的提供程序。 我们现在已经尝试使用rsynctypes,而不是使用标准的共享文件夹。 这可以在Windows上运行,但是在OS X上崩溃的时候会出现一些错误,告诉我们这个symlink has no referent (每个符号链接symlink has no referent一个错误)。 我们考虑过NFS ,但只有在不使用Windows作为主机的情况下才有效。 我们也关于SMB ,但是这只能作为主机在Windows上运行。 我无法想象,我们是这个星球上唯一或第一批在共享文件夹中遇到多平台主机和符号链接问题的人。 你怎么能解决这个问题,这样我们可以保持象征性的联系,但仍然使用不同的主机操作系统?
我在Windows 7系统上使用了一段时间的stream浪汉。 现在我有了一台装有Windows 10的新电脑。我安装了Oracle Virtual Box和Vagrant,我尝试用vagrant命令启动一台机器。 Vagrantfile是我在Windows 7系统上使用的文件。 这是Vagrantfile的内容: Vagrant.configure(2) do |config| config.vm.box = "debian/jessie64" config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "–memory", "768"] end config.vm.provision :shell, path: "bootstrap.sh" config.vm.network :private_network, ip: "172.27.146.17" config.vm.hostname = "www.delevensstijl.hst1.nl" config.hostsupdater.aliases = ["www.thelifestylemethod.hst1.nl"] end 我得到的错误:在您的PATH找不到“rsync”。 确保您的系统上正确安装了rsync,并在PATH上可用。 为什么stream浪使用Virtualbox寻找rsync? 我该如何解决这个错误?