我一直在使用Transmit.app
将我的本地网站目录同步到/home/public
我的远程网络主机。
然而,每当我对我的网站进行一个小的更改时,我都厌倦了以图形方式进行这种操作,单击 10-15 次。
我如何从命令行执行此操作?我可以通过 ssh 访问我的远程网络主机。我从未使用过rsync
一些指针,它们可能会有所帮助。
答案1
rsync -avhe ssh --delete /home/user/dir/ [email protected]:dir/
非常简单直接。
希望您在开发过程中使用 git,那么您就可以使用它。
有关 rsync 的更多信息请参见此处:
http://www.linux.com/news/enterprise/storage/8200-back-up-like-an-expert-with-rsync
使用 git 部署:
http://philsturgeon.co.uk/news/2010/02/Deploying-websites-with-Git
答案2
像这样:
rsync -avh --delete /local/directory username@remotehost:/home/public
这将directory
在 内创建。但是,如果您希望直接使用/home/public
的内容,请使用类似的方法(请注意尾部斜杠):directory
/home/public
rsync -avh --delete /local/directory/ username@remotehost:/home/public
查看man rsync
更多选项。上面使用的选项:
--delete
将删除远程主机上不存在的文件,因此请小心传输内容。a
用于“归档”,在大多数情况下应该有用h
将实现人类可读的文件大小
您可能需要使用一些其他选项:
--progress
查看当前进展--dry-run
看看理论上会传输什么(但实际上并没有传输任何东西)