ok aqui está um pouco de bash .. primeiro, para obter uma lista de todos os sites com diretórios de plugins que você pode usar globbing e ls -d (isto é, não desce o diretório, forneça apenas a entrada de diretório)
por exemplo:
for i in 'ls -d /srv/*/site/wp-content/plugins'
do
#whatever rsync command you want to do, $i will evaluate to the directory name
e.g rsync -avzh /source/plugindir $i
done
#segundo passe para encontrar todos os casos em que o diretório de plugins não existe.
LOGFILE = "/some/log"
echo
for i in ' ls -d /srv/*/site/wpcontent'
do
if [ ! -d ${i}"/plugins" ]
then
echo ${i}"is evil" > $LOGFILE
fi
done
Eu ignorei a parte de ter arquivos de log rsync especializados para cada diretório. Eu não tinha certeza do que você queria dizer com o caminho ~ / d.log. você poderia fazer algo com sed para alterar as barras em traços se realmente quisesse ter arquivos de log separados para o rsync, ou poderia usar o awk e dividir apenas o nome do site e usá-lo como um nome base para o arquivo de log. por exemplo:
LOG='echo $i | awk -F/ '{print $2}''