Перед повторным запуском выполнить автоматическую проверку перед обновлением.

Автоматически обновляет и перезагружает мой компьютер без каких-либо проблем. Тем не менее, у меня есть сценарий Python, который запускается нечасто, но когда он запускается, это может занять несколько дней. Я хотел бы приостановить автоматическую перезагрузку во время работы этого скрипта.

Какой самый простой способ достичь этого?

1
задан 23 April 2015 в 15:00

2 ответа

Я решил создать сценарий, который проверяет, выполняет ли Python и создает и удаляет файл переопределения конфигурации соответственно. Конечно, тест для под управлением программы Python может быть большим количеством spicific, например, с помощью -f /proc/$(cat something.pid)/status.

файлы удара:

#! /bin/bash
case "$(pgrep -xc python)" in

0) echo "No python running, ok to reboot" >> /root/scripts/pythonCheck.log
   if [ -e "/etc/apt/apt.conf.d/60dontreboot" ]; then
     rm "/etc/apt/apt.conf.d/60dontreboot"
   fi
;;

*) echo "Python is running, shouldn't reboot" >> /root/scripts/pythonCheck.log
   if [ ! -e "/etc/apt/apt.conf.d/60dontreboot" ]; then
     echo 'Unattended-Upgrade::Automatic-Reboot "false"' > /etc/apt/apt.conf.d/60dontreboot
   fi
   ;;
esac

В моем случае, я установил автоматическую перезагрузку в течение 4:00 (также в 50unattended-обновлениях), таким образом, я добавил crontab для выполнения вышеупомянутого сценария в 3:59. Я доволен выпуском одной минуты работы; мой сценарий Python только начнется несколько минут спустя.

crontab запись:

59 3 * * * /root/scripts/pythonCheck.sh
1
ответ дан 24 April 2015 в 01:00

Можно использовать конфигурацию в этом файле (спасибо muru):

/etc/apt/apt.conf.d/50unattended-upgrades

и эта строка:

Unattended-Upgrade::Automatic-Reboot "false";

В оболочке я сделал бы это:

sudo sed -i 's/^Unattended-Upgrade::Automatic-Reboot "true";$/Unattended-Upgrade::Automatic-Reboot "false";/g' /etc/apt/apt.conf.d/50unattended-upgrades

Создают сценарий для этого и запускают Вас программа в сценарии. Если это закончено, возвращаются изменения.

<час>

Или можно использовать этот файл:

/etc/apt/apt.conf.d/10periodic

и эта строка:

APT::Periodic::Unattended-Upgrade "0";
  • "0" означает отключенный
  • "> 0", временной интервал в течение многих дней.

Это отключает автоматическое обновление в масштабе всей системы.

1
ответ дан 24 April 2015 в 01:00

Другие вопросы по тегам:

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