В первый раз, когда я управлял загруженным сервером, мне пришлось ждать подходящего момента, чтобы перезагрузить его, когда люди его не использовали. Я заметил, что это произошло около 3 часов ночи. Потом я подумал про себя: «Ну это неудобно, мне приходится просыпаться в неурочный час только для того, чтобы перезагрузить сервер». Через пять секунд я понял, что это была глупая мысль. «Это Linux, я уверен, что такую простую задачу легко автоматизировать». Итак, at
было обнаружено.
Утилита очень проста в использовании. Вы просто передаете время и дату в качестве параметра командной строки, а затем вводите одну или несколько команд, которые хотите выполнить.
На сервере полезно иметь такую программу, поскольку часто требуется, чтобы она выполняла действия без присмотра. Но даже на рабочем столе at
может оказаться очень удобным инструментом. Например, предположим, что вы загружаете очень большой файл. Вы можете запланируйте выключение вашего компьютера до поздней ночи. Кроме того, вы можете попросить at
напоминать вам о том, что вам нужно сделать. Практически любое действие, о котором вы только можете подумать, можно запланировать с помощью подходящих инструментов и параметров командной строки.
Читайте также: Руководство для начинающих по использованию Cron в Linux
Как установить «at» в различных дистрибутивах Linux
В Debian или дистрибутивах на его основе запустите:
sudo apt install at
В Fedora запустите:
sudo dnf install at
Чтобы установить «at» в Arch Linux:
sudo pacman -S at
А в openSUSE:
sudo zypper install at
Включить автоматический запуск демона «at» и запустить службу
Некоторые дистрибутивы автоматически включают запуск демона «at» при загрузке. Другие не будут. Проверьте:
systemctl is-enabled atd.service
Если написано «отключено», включите его с помощью:
Contents
- 1 Как установить «at» в различных дистрибутивах Linux
- 2 Включить автоматический запуск демона «at» и запустить службу
- 3 Как указать дату и время для планирования команд «at»
- 4 Как использовать команду «at»
- 5 Просмотр и/или удаление запланированных заданий
- 6 Ра
Включить автоматический запуск демона «at» и запустить службу
#i-2">7 Заключение
Как установить «at» в различных дистрибутивах Linux
И запустите демон:
sudo systemctl start atd.service
Как указать дату и время для планирования команд «at»
Вы можете использовать любую из следующих форм.
1. Запустить команду через указанное количество минут, часов, дней или недель.
at now + 10 minutes at now + 10 hours at now + 10 days at now + 10 weeks
2. Запустить в точное время:
at 23:10
Если уже 12:00, а вы бежите:
at 11:00
Тогда команда будет запущена завтра в указанное время.
3. Запуск в точное время и дату:
at 12:00 December 31
Другие альтернативные способы указания времени и даты можно найти в разделе онлайн-руководство «at» .
Как использовать команду «at»
Как вы могли заметить, после того, как вы укажете запланированное время, вы увидите приглашение, похожее на следующее изображение:
Здесь вы просто вводите команды, которые хотите запустить. Они будут выполняться под вашим текущим именем пользователя. Введите команду, которую хотите запустить в указанное время, и нажмите Enter. Если вы хотите запустить следующую команду, повторите ту же процедуру. Когда вы закончите, нажмите Ctrl+ D. При нажатии этих клавиш будет отображаться Если вы хотите запускать команды, требующие root-прав, не используйте А затем используйте команду «at» как обычно. Теперь все команды будут выполняться от имени пользователя root, а не от вашего обычного пользователя. После того как вы запланировали команду, введите: Вы выйдете из учетной записи пользователя root. В примере, представленном на этом снимке экрана, выключение было запланировано через две минуты. Вы можете адаптировать это для своих целей. Если компьютер выключается до того, как запланированное задание сможет запуститься, оно просто запустится при следующей загрузке (если его время прошло). Например, если вы запланировали задание на 15:00, выключите его в 14:00 и включите питание в 16:00, задание запустится в 16:00. Вы можете просмотреть задания в очереди:<Как указать дату и время для планирования команд «at»
sudo
. Помните, что команда будет выполняться автоматически, поэтому sudo
не будет работать, поскольку никто не сможет ввести пароль. Вместо этого сначала войдите в систему как пользователь root:sudo -i
exit
Просмотр и/или удаление запланированных заданий
Как использовать команду «at»
at -l
Чтобы увидеть, какие команды запланированы в задании, используйте номер префикса этого задания.
at -c 22
Последние строки вывода покажут вам запланированные вами команды.
Чтобы удалить задание, используйте его префикс, например:
atrm 22
Расписание «at» для запуска графических приложений
Сначала узнайте текущее значение отображаемой переменной:
echo $DISPLAY
Обычно это :0
.
Запланируйте запуск at
. В командной строке «at» установите для переменной DISPLAY
предыдущее значение (export DISPLAY=:0
) и запустите нужное графическое приложение.
Команды, использованные на предыдущем снимке экрана, приведут к следующему результату.
Теперь графическое приложение будет «перед вашим лицом» и напомнит о важной работе лучше, чем будильник на телефоне.
Заключение
Использовать «at» очень просто. Сложнее всего найти творческий способ совершить желаемое действие. Но вы можете делать все, что захотите, например начать загрузку, закрыть программу, перевести компьютер в режим ожидания и т. д.