Я совершил ужасную ошибку при переносе сайтов с одного сервера на другой. Мы создали виртуальные хосты на новом сервере с помощью virtualmin. Но при восстановлении файлов со старого сервера на новый я по ошибке скопировал все файлы в «/ home / VIRTUALHOSTS-NAME /» вместо «/ home / VIRTUALHOSTS-NAME / public_html». Теперь мне пришлось переместить все файлы из домашнего каталога виртуальных хостов в каталог public_html, за исключением нескольких папок по умолчанию, таких как: fcgi-bin, public_html, awstats, cgi-bin и т. Д. Можно ли это автоматизировать с помощью сценария оболочки или любой команды с конвейером ?
Предполагая, что ваша оболочка - bash,
shopt -s extglob
mv !(fcgi-bin|public_html|awstats|cgi-bin|...) public_html
Да, rsync
может сделать это "из коробки". Есть много параметров командной строки, чтобы настроить ее по своему усмотрению.
Предполагая, что вы используете операционную систему, в которой rsync
доступен.