一个从从容容,一个连滚带爬
在服务器之间传文件,很多人第一反应是:
ruby
scp -r ./* user@host:/path/
简单粗暴,一条命令,全搬走。 确实方便,但------你要是频繁这么搞,就知道问题来了。
哪怕你只改了一个小文件,scp
也会重新打包整个目录,老老实实地全传一遍。 这就像搬家时,明明只换了一个抱枕,却非把整个客厅重新装一遍车,是不是很无脑?
而这个的 rsync
,就显得优雅多了:
ruby
rsync -avzP ./ user@host:/path/
它可不是莽夫。
-a
:保留权限和目录结构;-v
:过程清清楚楚;-z
:压缩一下,省流量;-P
:还能断点续传。
更重要的是,rsync 只传改动的部分。 第一次同步可能要一点时间,但之后再更新,几乎眨眼就完成。 有种"从容得体"的优雅感。
看他两个干活,那场景就是: 一个从从容容地只传必要的文件, 一个连滚带爬地把所有文件都重新搬一遍。 ------这画面,太生动形象了。
所以结论也很简单:
想图快临时传个文件?用 scp。 想优雅高效地同步项目?用 rsync。
我之前用 scp 每次部署都要传几十分钟,遇到网不好一两个小时,换成 rsync 后,只有第一次,没有第二次,全程续传护航,而且速度很快,直接"秒传"。 rsync用一次就知道是我想要的。
两条命令,看见人生
在文件传输的江湖里,scp
是那个热血青年,
干活快,动作猛,哪怕要搬整栋房子,也不眨眼。
而 rsync
,是那个从容老江湖,
不慌不忙,算清楚哪里该动,哪里能省。
一个从从容容,一个连滚带爬,这就是他们的不同人生。