我正在开发一个开源备份实用程序,它可以备份文件并通过FTP/SFTP/SCP协议将它们传输到各种外部位置,如Amazon S3,Rackspace Cloud Files,Dropbox和远程服务器.
现在,我收到了进行增量备份的功能请求(如果所做的备份很大并且转移和存储成本很高).我一直在环顾四周,有人提到了这个rsync实用程序.我对此进行了一些测试,但我不确定这是否合适,所以希望听到任何有经验的人rsync.
让我简要介绍一下备份时会发生什么.基本上它会开始转储MySQL,PostgreSQL,MongoDB,Redis等数据库.它可能需要文件系统中的一些常规文件(如图像).一旦一切就绪,它将把它们全部捆绑在一个.tar中(另外它将使用gzip和压缩和加密openssl).
完成所有操作后,我们会看到一个如下所示的文件:
mybackup.tar.gz.enc
现在我想将此文件传输到远程位置.目标是降低带宽和存储成本.因此,我们假设这个小备份包1GB大小不一.因此我们使用它将rsync其传输到远程位置并在本地删除文件备份.明天会生成一个新的备份文件,结果是在过去24小时内添加了更多的数据,我们构建了一个新mybackup.tar.gz.enc文件,看起来我们的1.2GB规模已经达到了.
现在,我的问题是:是否可以仅转移200MB过去24小时内添加的内容?我尝试了以下命令:
rsync -vhP --append mybackup.tar.gz.enc backups/mybackup.tar.gz.enc
结果:
mybackup.tar.gz.enc 1.20G 100%36.69MB/s 0:00:46(xfer#1,to-check = 0/1)
发送200.01M字节
接收849.40K字节
8.14M字节/秒
总大小为1.20G
加速为2.01
看看sent 200.01M bytes我会说数据的"附加"工作正常.我现在想知道的是它是否转移了整体1.2GB以便计算出现有备份的附加量和附加量,还是真的只转移了200MB?因为如果它转移了整体,1.2GB那么我看不出它与scp在单个大文件上使用该实用程序有多大不同.
另外,如果我想要完成的是什么,你建议用什么标志?如果不可能rsync,您可以建议使用任何实用程序吗?
任何反馈都非常感谢!
请注意,这是我一直关注的原始文章:http:
//www.markdotto.com/2011/11/02/how-to-deploy-sites-via-github/
为您提供一些背景信息:我们在组织帐户下设置了私人仓库.我们有三个开发人员(包括我自己),他们拥有我们自己的GitHub帐户,并拥有私人仓库的管理员权限.
在处理项目时,我们克隆了repo,然后创建了一个'dev'分支.我们每个人都在我们自己的开发分支工作,并将更改推送到GitHub上的'dev'分支.
我们希望将这个dev分支放到我们的远程服务器上,这样我们就可以在将它合并到我们的主分支(应该是干净的/总是可部署的)之前测试组合代码的工作原理.
从这里我们按照上面的文章步骤通过SSH连接到我们的服务器,转到我们网站托管的相关目录并运行以下命令...
git clone git@github.com:ORGANISATION/REPO.git dev
我们遇到的第一个问题是我们的服务器返回了消息......
Cloning into dev...
ssh: connect to host github.com port 22: Connection refused
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
...我希望它在哪里要求我们输入密码?
所以我们尝试了HTTP网址......
git clone https://USER@github.com/ORGANISATION/REPO.git dev
...当你克隆时,你会发现HTTP网址现在使用我自己的USERNAME.我输入我的密码然后显示,Cloning into dev...但它显示以下错误...
error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://Integralist@github.com/StormCreative/MoneyRepublic.com.git/info/refs
fatal: HTTP request failed
Run Code Online (Sandbox Code Playgroud)
......我不明白这个错误.
那么我们如何将这个私人仓库克隆到我们的服务器上呢?
任何帮助赞赏!
亲切的问候,马克
我使用PsExec在远程计算机中复制并运行exe文件.我还想将xml文件复制到远程计算机.我能够这样做
PsExec.exe -d -c \\someserver c:\somefile.xml
Run Code Online (Sandbox Code Playgroud)
上面的命令抛出错误,说系统找不到指定的文件但是将xml文件添加到远程服务器.
你知道将文件复制到远程服务器的更好方法吗?
有没有可用的PsTool?
还是PsExec中的一个选项?
编辑:(答案)我发现使用Powershell我们可以将文件复制到远程机器并且它有效.
有人能解释Xcode开发者计算机,osx服务器和使用远程git存储库之间的关系吗?
我想将我的更改提交到远程仓库(bitbucket)并让我的os x服务器运行机器人吗?
新:经过一番乱搞,我已经设法为远程服务器制作机器人,但现在我收到以下错误
SSH Known Hosts file path is located at /Library/Server/Xcode/Config/ssh_known_hosts
SSH strict host checking is disabled (you can enable this by editing the SSHStrictHostKeyChecking key in /Library/Server/Xcode/Config/xcsbuildd.plist
Untrusted HTTPS certificates is enabled (you can disable this by editing the TrustSelfSignedSSLCertificates key in /Library/Server/Xcode/Config/xcsbuildd.plist
622a6bc3406c764e9e97ec156818b739ecb40ee9 refs/heads/master
Run Code Online (Sandbox Code Playgroud)
只有我已经这样做了,它没有改变任何东西.
还有一个错误:
xcodebuild: error: The project 'testOnlineGit3' does not contain a scheme named 'testOnlineGit3.xcscheme'.
Run Code Online (Sandbox Code Playgroud)
我的方案是共享的,这就是它的名字,所以我不确定如何修复它
新:改变我的方案名称,现在机器人工作,但我仍然得到以前的警告,我不确定他们的意思,任何人都知道如何让他们消失?
我正在使用PyCharm IDE开发一个wsgi应用程序并将我的更改自动部署到远程服务器,但我仍然需要触摸wsgi文件才能使更改生效.
如果我用PyCharm更改另一个文件,有没有办法自动触摸/上传wsgi文件?(这与Sublime Text 2非常微不足道)
从VSCode连接到远程docker容器的依赖项和步骤是什么?那么我可以在我的容器环境中使用工具正确编译和运行代码吗?
我试图按照这里的说明进行操作,但运气不佳:
我的设置包括:
Host使用 VSCode,未安装docker,已安装ssh 客户端,ssh 密钥已就位Server 使用 VSCode,安装 docker,安装 ssh 客户端和服务器Docker container 已经运行 ServerHost可以连接到Server, 通过 VSCode 使用 Remote Development Version: 0.17.0扩展, 通过Remote - SSH Version: 0.47.2扩展版本: 0.47.2
Server可以Docker container使用Remote Development Version: 0.17.0扩展名通过 VSCode连接到,通过扩展Remote - Containers Version: 0.83.1名。
如何连接Host到 Running Docker container?
更新 1 小额预付款
我已将此行添加到我的~/.config/Code/User/settings.json文件中。该选项被一条消息突出显示unknown configuration setting …
我在 alicloud 上使用 Ubuntu 20,尝试使用 cl 从 sftp 远程服务器复制到本地时遇到问题:
scp -r -P 22 sftpibas@localhost:/sftpibas dev
Run Code Online (Sandbox Code Playgroud)
但它提高了
protocol error: mtime.sec not present
Run Code Online (Sandbox Code Playgroud)
如果你想在这里查看我的配置,我附上我的 sshd_config:
Include /etc/ssh/sshd_config.d/*.conf
PermitRootLogin yes
ChallengeResponseAuthentication no
UsePAM yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
我将文件从远程服务器复制到本地的方法是否错误?欢迎任何建议
我的本地系统上有一个存储库,并正在远程服务器上测试我的更改。我正在使用 VSCode 进行开发。我希望每次保存时,rsync 都应在后台运行,并将当前本地文件中的更改与远程同步。我如何使用 VSCode 实现这一目标?
很难记住什么时候,但在某个时刻,Flask 的自动重新加载功能开始在我的项目中不再起作用。这是启动我的应用程序时的输出:
FLASK_APP = back/python/app/app.py:app
FLASK_ENV = development
FLASK_DEBUG = 1
In folder C:/path/to/project
ssh://[VirtualMachineIP]:22/root/env/bin/python3.7 -u -m flask run -h 0.0.0.0 -p 1234
* Serving Flask app 'back/python/app/app.py:app' (lazy loading)
* Environment: development
* Debug mode: on
* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://[VirtualMachineIP]:1234/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 106-048-128
Run Code Online (Sandbox Code Playgroud)
开发环境和调试模式均已打开。因此,在将更改保存到文件中(部署应用程序时),我收到通常的消息:
* Detected change …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VSCode 中的远程资源管理器扩展连接到远程服务器,但是当我使用 putty 生成私钥时private.ppk出现错误
无法建立连接
当我通读错误日志时,在它尝试加载 key 时C:\Users\user\.ssh\private.ppk,它说
无效的格式
如何使用 PuTTY 格式密钥进行连接?下面是我的config样子
Host ###.##.##.###
HostName ###.##.##.###
User <user>
Port 22
IdentityFile C:\Users\user\.ssh\private.ppk
Run Code Online (Sandbox Code Playgroud)