Параметры cp –no-clobber vs. -update

Я хочу скопировать один файл, если (и только если) пункт назначения не существует. Исходный файл меняется редко, может быть, раз в месяц. Место назначения почти никогда не существует.

Существуют ли различия между параметрами -n и -u ? (Или оба!)

cp вызывается непосредственно из crond . Никаких других опций cp не используется.

Одно и то же задание cron вызывается одновременно на нескольких машинах, считывая их из одного источника и записывая в один и тот же пункт назначения (как в общей глобальной файловой системе GFS). Целевой файл будет вскоре перемещен другим процессом, поэтому единственный раз, когда он может существовать, – это во время гонки, когда задание cron выполняется одновременно на нескольких узлах.

Что было бы более эффективным? :

  • cp -n source dest
  • cp -u source dest
  • cp -nu source dest
  • cp -pu source dest

В настоящее время я склоняюсь к простой альтернативе.

One Solution collect form web for “Параметры cp –no-clobber vs. -update”

Невозможно объединить -n и -u .

Используйте -n если вы никогда не хотите перезаписывать существующий файл.

Используйте -u если вы не хотите перезаписывать более новые файлы.

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

Я ожидал бы, что -n более эффективен, чем -u но эффект вряд ли будет поддающимся измерению.

(В приведенном выше, «старший», «новый» и т. Д. – все это относится к mtime файлов.

  • Ричард Столлман сравнивает Linux с Windows
  • В чем разница между Unix, Linux, BSD и GNU?
  • Почему GNU Info не удалось добиться успеха?
  • Пакетное переименование папок с помощью одной команды bash
  • Что именно мы имеем в виду, когда говорим, что мы используем Linux?
  • Чтение из брелка не выполнено с ошибкой: «Нет доступной службы брелка»
  • Как установить более старую версию GNU make с помощью apt на Ubuntu 16.04?
  • Как настроить Frame Relay в Unix / Linux?
  • История версий GNU Sed (журнал изменений) - как вы можете определить, какая функция была введена в какой версии?
  • Почему Gnu сортирует сортировку по-разному на моей машине OSX и машине Linux?
  • Каковы различные способы установки прав доступа к файлам и т. Д. На gnu / linux
  • Linux и Unix - лучшая ОС в мире.