我的托管账户上有多个网站。由于存在安全层,我不能使用符号链接(symbolic link),也不能从一个帐户到另一个帐户。但是我是一组脚本,将成为同一个帐户的多个帐户。
我不想在每次进行更改时都将这些脚本上传到每个单独的 ftp 帐户,而是希望有一个简单的 bash 脚本来为我做这件事。
所以我想通过 SSH 做的是通过名称在我的托管服务器上搜索特定目录,例如“ThisUniqueFolder”,然后上传并用存储的文件的更新版本替换该目录中的所有文件在我的本地服务器上。
请记住,此目录“ThisUniqueFolder”将存在于整个托管服务器的多个不同位置。
最佳答案
您可以使用ssh
找到所有的ThisuniqueFolder
,然后使用rsync
来更新它们。
使用 ssh
的 -i identity_file
来避免 remote_host
上的 user
的密码。
#!/bin/bash
for f in `ssh -i /path/to/identity_file user@remote_host 'find /remote/search/directory -name "ThisUniqueFolder" -type d'`
do
rsync -avu -e 'ssh -i /path/to/identity_file' ThisUniqueFolder/ user@remote_host:$f
done
关于linux - 在 SSH 中按名称查找和替换文件或文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42848290/