天道酬勤,学无止境

rsync

rsync .git 目录(rsync .git directory)

问题 这个问题可能是基于我对 .gits 和 git 存储库的一般作用缺乏了解,但是: 我可以将目录与我在机器之间使用git init创建的内容git init吗? 我的笔记本电脑上有一个存储库,唯一的方法是将它从 scp/rsync 传输到远程主机,我可以从中再次下载它。 我可以在这些主机之间同步完整的目录结构吗? 回答1 有几种可能: 您可以只rsync .git存储库(或什至整个存储库与工作目录一起),前提是您在rsync ing 期间在存储库中没有任何活动(与使用rsync://协议相同的免责声明)。 您可以使用已弃用的rsync协议进行克隆或获取(其中存储库 URL/位置如下所示:“ rsync://host.xz/path/to/repo.git/ ”)。 请注意,此协议已被弃用,因为如果存储库中有任何活动,您可能会获得损坏的克隆(或获取)。 此外,正如我所听说的,自 2007 年以来,它在存在压缩参考的情况下无法正常工作,直到最近才有人注意到。 它会(确实)在 Git 2.8 中消失。 或者你可以创建 git bundle,在其他机器上rsync或scp它,然后从 bundle 中克隆或获取。 回答2 是的,这是可能的。 IIRC,git 使用相对方法。 因此,将其与另一台计算机同步是安全的。 回答3 您可以 rsync 没有任何问题,但是如果您使用机器本地的主机名

2021-12-09 08:04:53    分类:技术分享    git   rsync

shell for 循环中的 rsync [重复](rsync in shell for loop [duplicate])

问题 这个问题在这里已经有了答案: 在 bash 脚本中出现“找不到命令”错误(6 个回答) 去年关闭。 我有这个 shell 脚本 #!/bin/sh PATHS=( a b c d ) for PATH in ${PATHS[@]} do rsync -avziP /home/user/$PATH $SERVER:$server_folder -b --backup-dir=$backup_folder/backup_$date --delete --exclude=.* --log-file=$HOME/rsync.log done 我总是收到这个错误: rsync:找不到命令 让我发疯的是,如果我删除 for 循环,然后只运行 rsync 命令,脚本就可以完美运行 回答1 PATH是一个保留变量! 它是指定在哪里搜索工具的变量(如rsync ) $ set | grep ^PATH= PATH=/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 使用另一个变量名!

2021-12-09 04:33:55    分类:技术分享    shell   for-loop   sh   rsync

在 VIM 中保存时的 RSync(RSync on save in VIM)

问题 我正在寻找一种映射 :w 命令的方法,以便在我使用它时,它将 rsync 当前目录并保存有问题的文件。 理想情况下,rsync 命令生成的响应应该在 vim 中返回,而不是在当前文件中,而是作为工具提示或其他东西。 我设法在 TextMate 中实现了这一点,现在我希望开始使用 Vim。 我一直在尝试诸如:map w :w|!rsync ,但这似乎不起作用。 回答1 您可以挂钩 BufWritePost。 我不记得确切的语法,但是“ :he BufWritePost ”和“ :he autocommand ”应该可以帮助您。 你设置了一个像这样的基本钩子(文件上的模式匹配,所以你可以做 *.your_extension): :au BufWritePost * !rsync 此外,应该有一些方法可以使它成为缓冲区本地的。 回答2 如果您想保留本地副本,那么 viraptor 建议的 BufWritePost autocmd 是最好的选择,但假设您安装了 netrw 插件(默认 Vim 运行时文件的一部分),您还可以使用以下命令启动 vim: vim rsync://myrsync_server.com/path 并像编辑本地文件一样编辑文件:saves 将更新远程服务器。 :help rsync 回答3 您可以设置缓冲区本地自动命令来执行此操作(请参阅:help

2021-12-08 23:42:39    分类:技术分享    vim   textmate   rsync

是否有任何使用 rsync 的 .NET API? [关闭](Is there any .NET API using rsync? [closed])

问题 就目前而言,这个问题不适合我们的问答形式。 我们希望答案得到事实、参考或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。 如果您觉得这个问题可以改进并可能重新打开,请访问帮助中心以获得指导。 9年前关闭。 我需要在我的 .NET 应用程序中有一个文件同步功能。 我可以使用 rsync 吗? 有没有可用的API? 回答1 github 上有一个 RSync 的 C# 实现,有一些最近的提交: http://github.com/MatthewSteeples/rsync.net 回答2 DeltaCopy 只是 rsync 可执行文件的包装器。 但是,librsync 本身可以在 Windows 以及 UNIX 和 GNU/Linux 上构建(请参阅他们的 README 和这个 EE 线程)。 因此,这是另一个需要考虑的选择。 您仍然需要某种非托管的互操作。 回答3 您可以使用 DeltaCopy 附带的源代码,它是原始 RSync 的“'Windows 友好'包装器”。 源代码是用 C++ 编写的,因此它不完全是 .Net,但您可以编写托管 C++ 包装器并使用它们。 我知道这不是一个直接的解决方案,但它可能会有所帮助。 (换句话说,HTH) 回答4 如果您正在寻找一些简单的自动化,您可以编写一个通过 System.Diagnostic.Process 调用

2021-12-08 20:28:51    分类:技术分享    c#   rsync

rsync --exclude 不排除特定文件[关闭](rsync --exclude not excluding specific files [closed])

问题 关闭。 这个问题是题外话。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其成为 Stack Overflow 的主题。 8 年前关闭。 改进这个问题 我目前正在运行 rsync 命令来备份我的特定文件夹。 这是命令: rsync -rtzv -e --exclude "generator/" --exclude "workspace/gallery/server/lib/personas_constants.php" /home/brandon/workspace/gallery /home/brandon/workspace/gallery2 我遇到的问题是 --exclude 不排除特定文件。 它是我运行 rsync 命令的文件的相对路径。 然而,排除确实适用于“generator/”目录。 有人可以为我解释一下吗? 回答1 事实证明,它是相互同步的文件夹的相对路径。 不是从您运行 rsync 命令的位置。 --exclude "generator/" --exclude "server/lib/personas_constants.php" --exclude "server/lib/connect.php" 修复了我的问题。 回答2 --exclude参数采用一个模式,并排除与该模式匹配的文件名 - 而不是文件的特定路径。

2021-12-08 09:00:57    分类:技术分享    linux   rsync

可以在 rsync 部署中使用 bundler 吗?(can bundler be used in rsync deployments?)

问题 您能否使用 Bundler 的 Gemfile 部署 Rails3 应用程序而无需运行bundle install ... 即只需将 rails 项目目录复制到 Apache/Passenger 中的适当目录? 因此,我们有一个旧环境,它是为 Ruby1.8.6/Rails2 时间范围内的内部项目设计的,它依赖于将本地 rails 目录复制到 Apache/Passenger 下的网络安装。 虽然这个部署模型在 Rails2 上工作得很好(使用冻结的 gems 等),但它在许多带有 Bundler 的 Rails3 中以许多痛苦的方式中断。 具体来说,即使在部署到 :production 时,我也看到 :test 和 :development 组中 gem 的 gem 依赖错误。 起初,我发现以下 SO 帖子很有帮助: 捆绑器错误地尝试在生产中安装“开发”和“测试”组 gems 所以我在本地执行了bundle install --without test development ,然后尝试手动将 .bundle/config 从我的目录复制到网络目录,但这没有用。 Bundler 仍然尝试加载排除的 gem。 这对我们来说很痛苦,因为我们没有在这些服务器上安装 gem 的管理员权限(即我们不允许以任何形式运行bundle install )。 同样,管理员不想每 5

2021-12-07 18:47:47    分类:技术分享    ruby-on-rails   bundler   rsync

rsync remote files over SSH to my local machine, using sudo privileges on local side, and my personal SSH key

I want to sync a directory /var/sites/example.net/ from a remote machine to a directory at the same path on my local machine. The remote machine only authenticates SSH connections with keys, not passwords. On my local machine I have an alias set up in ~/.ssh/config so that I can easily run ssh myserver to get in. I'm trying rsync -a myserver:/var/sites/example.net/ /var/sites/example.net/ but it fails because my local user does not have permission to edit the local directory /var/sites/example.net/. If I try sudo rsync -a myserver:/var/sites/example.net/ /var/sites/example.net/ (just adding

2021-11-28 22:13:16    分类:问答    ssh   rsync

RSync on save in VIM

I'm looking for a way to map the :w command so that when I use it, it will rsync the current directory and save the file in question. Ideally, the response generated by the rsync command should be returned in vim, but not in the the current file, but rather as a tooltip or something. I managed to achieve this in TextMate and am now looking to start working with Vim. I've been trying things like :map w :w|!rsync, but that doesn't seem to work.

2021-11-28 10:01:53    分类:问答    vim   textmate   rsync

rsync over SSH preserve ownership only for www-data owned files

I am using rsync to replicate a web folder structure from a local server to a remote server. Both servers are ubuntu linux. I use the following command, and it works well: rsync -az /var/www/ user@10.1.1.1:/var/www/ The usernames for the local system and the remote system are different. From what I have read it may not be possible to preserve all file and folder owners and groups. That is OK, but I would like to preserve owners and groups just for the www-data user, which does exist on both servers. Is this possible? If so, how would I go about doing that? ** EDIT ** There is some mention of

2021-11-28 06:23:50    分类:问答    linux   ssh   webserver   rsync

rsync .git directory

This question probably is based on my lack of understanding of the role of .gits and git repositories in general but: Can I rsync a dir with content that I created with git init between machines ? I have a repository on my laptop, and the only way to get it away from there is scp/rsync to a remote host, from which I can download it again. Could I rsync the complete directory structure between these hosts?

2021-11-27 22:08:49    分类:问答    git   rsync