我有一个文件夹,其中包含静态网站的文件,例如:
/site/index.html
/site/css/css.css
/site/js/js.js
/site/images/...
Run Code Online (Sandbox Code Playgroud)
如果我更新笔记本电脑上的某些内容,我需要一个命令将文件发送到我的 ubuntu 服务器。如果我没有,我不想在其上设置 FTP,想知道 scp 是否能够处理这个问题?
Dav*_*osh 62
该命令scp -r source user@target:dest将遍历源的所有子目录并复制它们。
但是,即使源和目标上的文件相同,它的scp行为cp也始终复制文件。[请参阅此处了解解决方法。]
由于这是一个静态网站,您很可能只进行更新,而不是重新创建整个网站,因此如果您使用rsyncssh 而不是scp. 大概是这样的
rsync -av -e ssh source user@target:dest
Run Code Online (Sandbox Code Playgroud)
...开始。如果您通过 LAN 执行此操作,我个人会使用这些选项-avW来代替rsync.
Rsync 还使您能够在源中重复删除;因此,如果您从树中删除文件,则可以rsync按上述方式运行,并包含该标志--delete,它将从目标端删除相同的文件。
scp 有一个递归标志,可以做你想做的事。 scp -r /base/directory user@server:/to/location
从 man scp
Run Code Online (Sandbox Code Playgroud)-r Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.
| 归档时间: |
|
| 查看次数: |
114999 次 |
| 最近记录: |