Отложенное задание в Dedian

  • Linux
Столкнулся с такой задачей, нужно перезапустить сетевой интерфейс. Изюминка задачи в том, что при перезапуске потеряется ssh и если что-то пойдет не так, то интерфейс останется выключенным, а машина недоступной.

Однако, при старте машина запускает сетевой интерфейс нормально, т.е выходом из ситуации было бы её просто ребутнуть, но ssh потерян, а сервер в другом городе.

Решение: использование команды at — утилиты, позволяющей разово запускать одну или несколько команд в определенное время.

  1. apt install at
  2. Планируем задачу
    at 12:45
    Дальше вписываем нужные команды
    at> reboot
    и жмем Ctrl-D для выхода.
  3. Посмотреть все запланированные задачи
    atq
    Пользователи увидят только свои задачи, администратор — все. Все задачи будут с указанием номера, времени выполнения и пользователем, запланировавшим запуск
  4. Удаление задачи под известным номером
    atrm 2

Утилита at выполняет отложенные команды из стандартного ввода. В отличии от crontab выполняет единожды.