Массовый файл + папка + перемещение каталога

Таким образом, у нас есть куча файлов src, которые являются старыми и устаревшими, и их необходимо перенести в наше новое хранилище NAS. (Я не знаю, почему мы их сохраняем).

  • Можно ли скопировать все файлы и папки с их каталогами на новый диск?
  • Каталоги еще не сделаны на новом накопителе.
  • Может ли команда сделать это или мне нужно сделать скрипт?

Кто-нибудь сделал что-то подобное этому?

One Solution collect form web for “Массовый файл + папка + перемещение каталога”

Да, вы можете это сделать, если у вас есть система, в которой доступны как файлы src, так и NAS. Существует несколько способов сделать это с помощью одной команды, но инструмент rsync , вероятно, лучше всего подходит:

 $ sudo rsync -avz src /mnt/NAS/ 

Переключатели ( с страницы руководства rsync ):

 -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X) -v, --verbose increase verbosity -z, --compress compress file data during the transfer 

Таким образом, ключ -a самом деле представляет собой макрос для цельной кнопки:

 -r, --recursive recurse into directories -l, --links copy symlinks as symlinks -p, --perms preserve permissions -t, --times preserve modification times -g, --group preserve group -o, --owner preserve owner (super-user only) -D same as --devices --specials 

Запуск от root

Вы захотите запустить это как root, чтобы сохранить разрешения и владельцы файлов + каталогов. Также этому конкретному пользователю root потребуется доступ к NAS. По умолчанию это не настраивается, поэтому вам может понадобиться помощь администратора, если вы не тот.

Прежде чем начать

Обычно вам нужно сделать предварительный анализ в соответствующих каталогах, чтобы увидеть, есть ли какие-либо символические ссылки или файлы типа fifo. Для этого потребуются дополнительные ключи для rsync чтобы они правильно воссоздавали их в целевом каталоге.

Нет прямого доступа к NAS

Все не потеряно, если вы не можете напрямую подключить NAS в том же окне, где у вас есть доступ к файлам src. Вы также можете rsync через ssh .

 $ sudo rsync -avz src root@remoteserver:/mnt/NAS/. 

Есть более сложные варианты, если ни один из этих наборов не нуждается в ваших потребностях.

  • Копирование каталогов несвязанных имен файлов
  • как отслеживать каталог unix, и если какой-либо новый файл в каталоге будет скопирован в другой каталог
  • Почему я не вижу, как файл копируется сразу с помощью ls?
  • Команда Linux для копирования как жесткие ссылки при удалении нежелательных файлов?
  • В чем разница между * и *. * При копировании?
  • Разрешения папки с cp -parents не позволяют копировать другой файл
  • Как использовать минимальное количество команд для копирования всех файлов .txt из всех подкаталогов в один каталог?
  • cp -attributes-only документирован, но не работает «сейчас»?
  • Файлы отображаются в другом часовом поясе после передачи на другой компьютер (хотя оба компьютера имеют одинаковый часовой пояс)
  • Как копирование Debian iso непосредственно на USB-накопитель?
  • Альтернативное решение для создания нескольких копий одного файла с помощью командной строки?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.