Assumindo que seu shell é bash,
shopt -s extglob
mv !(fcgi-bin|public_html|awstats|cgi-bin|...) public_html
Cometi um erro terrível ao mover sites de um servidor para outro. Criamos virtualhosts no novo servidor usando o virtualmin. Mas enquanto restaurava arquivos do servidor antigo para o novo servidor, copiei por engano todos os arquivos em "/ home / VIRTUALHOSTS-NAME /" em vez de "/ home / VIRTUALHOSTS-NAME / public_html". Agora eu tive que mover todos os arquivos do diretório home do virtualhosts para o diretório public_html, exceto algumas pastas padrão como: fcgi-bin, public_html, awstats, cgi-bin etc. Isso pode ser automatizado com um script de shell ou qualquer comando com pipe ?
Sim, rsync
é capaz de fazer isso pronto para uso. Existem muitos parâmetros de linha de comando para ajustá-lo conforme desejado.
Supondo que você esteja em um sistema operacional no qual rsync
esteja disponível.