Что произойдет, если команда shutdown убьет мою работу cron в унисон?

360
user1911388

У меня дома есть коробка Arch linux, которую я выключаю довольно часто (блок питания шумит, и это раздражает мою девушку ...!).

У коробки есть ряд cronзаданий, запускающих unisonутилиту, предназначенную для резервного копирования различных каталогов на внешние жесткие диски.

Поскольку эти задания выполняются cronдемоном в фоновом режиме, мне кажется весьма вероятным, что я буду непреднамеренно запускаться $ shutdown nowво время выполнения одной из резервных копий.

Что просходит?

  1. Будет ли unisonработа убита немедленно?
  2. Может ли это привести метаданные Unison в поврежденное состояние?
1
Команда `shutdown` отправляет SIGTERM всем процессам. У них есть около 10 секунд времени, чтобы навести порядок в своем бизнесе. Следующий сигнал - SIGKILL, который завершает все остальные процессы одновременно. ott-- 8 лет назад 0
Рекомендуется инвестировать в машину с более тихим (желательно бесшумным) блоком питания (или блоком питания и всеми другими частями, которые вы слышите при бесшумном блоке питания). Не позволяйте компьютеру раздражать вашу подругу. ; ^) Ecnerwal 8 лет назад 1
Не хочу вас обескураживать (я люблю Unison!), Но вам действительно нужна двусторонняя синхронизация? Из этого описания я бы предположил, что односторонней (например, rsync) резервной копии может быть достаточно? В Unix & Linux SE есть очень хороший ответ, который касается rsync и прерываний (http://unix.stackexchange.com/a/165417/65370). Edward 8 лет назад 0

2 ответа на вопрос

3
Thomas Dickey

Короткий:

  • выключение машины теперь останавливает любую работу .
  • На странице Unison говорится, что

    Унисон устойчив к неудачам. Осторожно всегда оставлять реплики и собственные частные структуры в разумном состоянии, даже в случае ненормального завершения или сбоев связи.

1
Edward

Как уже указывал Томас Дики, и, исходя из собственного опыта, Unison изящно обрабатывает неожиданные завершения, потерю соединения и т. Д. Более того, я заметил, что при следующей синхронизации он будет даже начинать с того места, где остановился в прошлый раз, экономя вам хотя бы некоторую пропускную способность и / или время :)

Похожие вопросы