将文件夹及其内容复制到所有 Nginx vhosts 主机

将文件夹及其内容复制到所有 Nginx vhosts 主机

我有兴趣知道是否有一个命令行可以让我递归地将文件夹复制到我们所有的 NGINX 虚拟主机 htdocs 文件夹:

我需要将该文件夹复制到 vhosts 中的所有主机:

/var/www/vhosts/*/htdocs/

答案1

这个脚本可能会有所帮助:

for dir in /var/www/vhosts
do
    if [ -d dir]
    then
        cp -r DIR_TO_COPY $dir/htdocs
    fi
done

答案2

恕我直言,我认为上面的代码/答案不正确。

if [ -d dir] 可能是尝试 if [[ -d "$dir" ]]..或 [[ -d "$dir" ]];..

以下代码应该可以工作并执行您想要的操作。

vhostdirs=( ./var/www/vhosts/* )
  for dir in "$vhostdirs"
   do 
     cp -r "folder_to_be_copied" "$dir/htdocs/"
   done

还要注意变量周围的引号" ",这对于保留目录名称中的空格至关重要。

相关内容