[FAQ] Принудительное выключение Mac OS X по расписанию с помощью crontab

shutdown_nowm

Если вы хотите увидеть на нашем сайте ответы на интересующие вас вопросы обо всём, что связано с техникой, программами и сервисами Apple, iOS или Mac OS X, iTunes Store или App Store, задавайте их на форуме AppStudio. Ответы на самые интересные из них будут появляться в материалах данной рубрики. К нам поступил следующий вопрос:

Здравствуйте!
У меня iMac 2007. Я часто пользуюсь
автоотключением компьютера. И постоянно
сталкиваюсь с тем, что если включен
фильм, то мак не выключается в указанное
время. Сейчас стоит 10.9, но проблема была и
на 10.8. Как с этим можно бороться, если это
возможно) Заранее, спасибо!

Самый надёжный способ принудительно выключить Мак – терминальная команда shutdown. А самый надёжный способ запустить эту команду по расписанию – crontab, доступный на любых *nix-системах.

Рассмотрим решение задачи с помощью Терминала. Предположим, мы хотим выключать компьютер ежедневно в 23:30. Откройте Терминал и запустите команды:

sudo -s

После этого введите пароль от аккаунта и нажмите Enter. Затем введите:

crontab -e

Вы увидите пустой файл с заданиями crontab, открытый в редакторе vim, одном из самых вредных для психики и трудных в освоении инструментов.

crontab

Не предпринимайте никаких лишних движений, чтобы не удивляться последствиям. Нажмите на клавиатуре «i», вы перейдете в режим редактирования. Вставьте в Терминал следующую строку:

30 23 * * * /sbin/shutdown -h now

Сначала вводятся минуты, затем, через пробел, часы. Если вам нужны более гибкие настройки расписания (например, выключение по разным дням недели в разное время), потребуется несколько строк. Три звёздочки справа от «23» вводятся не просто так, каждый символ кодирует дополнительные настройки времени. Вместо первой звёздочки можно ввести дату (число от 1 до 31), вместо второй – номер месяца (от 1 до 12), вместо третьей – день недели (от 0 до 7, воскресенье кодируется и нулём, и семеркой). Подробнее о настройках крона можно прочесть здесь.

Закончив ввод, нажмите на клавиатуре Esc, чтобы перейти из режима редактирования в режим просмотра. Затем введите:

:wq

и нажмите Enter. Двоеточие – не опечатка, таков синтаксис vim.

Всё, с этого момента Мак начнёт выключаться по расписанию в заданное время. В отличие от системных настроек, подобное выключение будет осуществляться молча, без запросов и уведомлений.

Чтобы отменить выключение по расписанию, снова откройте файл заданий crontab, перейдите в режим редактирования и сотрите строку, после чего снова нажмите Esc и введите :wq.