вот структура каталогов:
/a/
/a/b/
/a/c/
Я хочу скопировать все, кроме подкаталога /a/c/.
scp -rp myserver:/a . # this will copy everything
Q: Как указать каталог, который следует оставить в команде scp ?
вот структура каталогов:
/a/
/a/b/
/a/c/
Я хочу скопировать все, кроме подкаталога /a/c/.
scp -rp myserver:/a . # this will copy everything
Q: Как указать каталог, который следует оставить в команде scp ?
Я не думаю, что вы можете, но вы можете использовать rsync? Что-то вроде этого:
rsync -a --exclude=a/c myserver:/a .
Я думаю, что это может быть правильный способ сделать это, так что вы все еще используете SSH, я не нашел способ сделать это с scp - но с помощью rsync через ssh может решить эту проблему.
rsync -e 'ssh -ax' -av --exclude /a/c myserver:/a .
Если вы используете Ключ-n, то он создаст сухой запуск процесса:
rsync -e 'ssh -ax' -av --exclude /a/c -n myserver:/a .
вы можете использовать расширенный глобус, как в примере ниже:
#Enable extglob
shopt -s extglob
cp -rv !(./excludeme/*.jpg) /var/destination
не идеальный способ сделать это, но установите подкаталог, который вы хотите исключить, только для чтения. chmod -R 444 /a/c
должно сработать. Вы получите сообщение об ошибке "отказано в разрешении" при попытке записи в этот каталог.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]