Как скопировать файлы на AIX из одной ФС в другую ФС?

Как скопировать файлы на AIX из одной ФС в другую ФС?

У нас есть файловая система: /foo

И у нас есть еще одна файловая система: /bar

В:Как скопировать все файлы из /foo в /bar?

У нас нет места для сжатия, только для копирования. Но в файловой системе могут быть символические ссылки, жесткие ссылки. Поэтому нужно сохранить их и владельца, разрешение, структуру, скрытые файлы! Какой лучший способ?

дополнительно: файлы со странными символами или файлы блоков/символов тоже

ОБНОВЛЯТЬ: можно ли использовать gzip с этим? Если нужно копировать по сети, сжатие было бы очень-очень полезным.

решение1

Комментарий Руипочти достаточно; это должно скопировать все, включая скрытые файлы:

cd /foo; tar cpf - . | (cd /bar; tar xpvf -)

(беги как root).

Если вы хотите сжать данные, копируемые между двумя tarпроцессами, вы можете добавить компрессор и декомпрессор в конвейер:

cd /foo; tar cpf - . | gzip -9 | (cd /bar; gunzip | tar xpvf -)

Если ваша версия tarподдерживает это, вы можете использовать zвместо этого флаг:

cd /foo; tar cpzf - . | (cd /bar; tar xpzvf -)

(На некоторых платформах этот -pфлаг включен по умолчанию root, насчет AIX я не уверен.)

решение2

Tar - хотя и очень универсален - не знает о многих основных проблемах, связанных с данными inode. Я настоятельно рекомендую вариацию

cd $src; find . | backup -if - | (cd $target; restore -xqf -)

Много лет назад я превратил это в «красивый скрипт», но в основном я просто использую его в командной строке.

Для красивого сценария (из 2009 года! ух ты!) см.:http://www.rootvg.net/content/view/301/309/

Связанный контент