我一直在尝试将文件部署到网络服务器的修补过程。
目前我正在使用scp
将压缩的目录结构放到网络服务器上,然后cp -rf --backup=t patch* www/
例如
user$ scp patch.zip server:~
user$ ssh server
// some welcome message, I have mail!, etc...
user@server:~$ unzip patch.zip
user@server:~$ tree
.
├── www
│ ├── 1
│ ├── 1.~1~
│ ├── 2
│ ├── 3
│ ├── 4
│ └── numbers
│ └── one
└── patch
├── 1
├── 5
└── numbers
├── one
└── two
user@server:~$ cp -rf --backup=t patch/* www/
user@server:~$ tree
.
├── www
│ ├── 1
│ ├── 1.~1~
│ ├── 1.~2~
│ ├── 2
│ ├── 3
│ ├── 4
│ ├── 5
│ └── numbers
│ ├── one
│ ├── one.~1~
│ └── two
└── patch
├── 1
├── 5
└── numbers
├── one
└── two
我不确定我应该在哪里将其制作成部署脚本,例如,本地执行的脚本可以在远程服务器上运行命令吗?如果可以,该怎么做?
答案1
当然可以。
scp patch.zip server:~
ssh server "unzip patch.zip"
ssh server "cp .... "
问题是:这是否合理。您可以使用无密码 ssh 身份验证(基于密钥)轻松实现这一点。但这有很大风险。
另一种方法是使用 salt、ansible、puppet、chef 等方法...