Простой «будильник» rtcwake + cron

Внимание, всё выполнялось под Ubuntu версии 12.04 (но это не факт, что на других версиях не будет идентично всё).

Так случилось, что я перестал просыпаться от звука будильника в телефоне... Слишком он тихий, чтобы разбудить меня. 🙂 Тогда на смену ему пришёл cron (конечно можно было и готовый будильник скачать, но это не мой путь, т.к. по натуре русского характера я).

И так...

ШАГ 1:

Для начала я создал скрипт для запуска трека утром alarm.sh. Вот его содержимое:

Вместо audacious - можно выбрать любой другой проигрыватель, хоть даже mplayer. И поместил его в папку ~/my_scripts/.

После чего сделал его исполняем:

ШАГ 2:

Затем пришла очередь назначить время запуска скрипта. 🙂 Вот и пришёл на выход крон. 🙂

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

И так... Открывается планировщик заданий. В конце файла вписываем:

Эта запись означает, что каждый день в 6:30 утра будет запускаться наш скрипт "будильника". Более подробно можете почитать в интернете о планировщике cron.

После чего, если вы использовали редактор nano (эх... Люблю я его). Зажимаем crtl+o и нажимаем Enter. Это сохранит наше расписание. Теперь зажимаем ctrl+x, чтобы выйти из редактора.

Мы получаем сообщение: crontab: installing new crontab. Это говорит о том, что расписание установлено.

Ну вот уже будильник у нас есть! 🙂

ШАГ 3:

На этом можно было и остановится... Но вот шум компьютера меня несколько раздражает ночью... И так... Немного порывшись в интернете, я наткнулся на утилиту rtcwake (если я не ошибаюсь, она по-умолчанию уже установлена) в Ubuntu.

И так запускаем её с парметрами:

Подробней об утилите rtcwake:

После чего компьютер перейдёт в состояние S3, т.е. сам будет выключен, но питание будет подоваться на оперативную память. И включится в 6:29 утра. После чего по крону запустится наша песня. 🙂

ШАГ 4:

Итак! 🙂 Меня немного настораживало постоянно вводить команду "sudo rtcwake -m mem -t date +%s -d 06:29". Захотелось это дело упростить. 🙂 Тогда я создал ещё один скрипт sleepandwakeup.sh и закинул его в папку ~/my_scripts/.

Вот содержимое скрипта sleepandwakeup.sh:

После чего делаем его исполняемым:

Но он не заработал должным образом, т.к. требовалось ввести пароль, для запуска rtcwake. Поэтому нам потребовалось отключить запрос пароля суперпользователя для rtcwake. Поэтому запускаем visudo:

И добавляем таку строчку:

Где user_name - имя вашего пользователя. После чего поочерёдно ctrl+o, enter, ctrl+x.

Ну вот и всё. 🙂 Теперь мы можем отправлять компьютер поспать введя команду в терминале:

Но это мне показалось тоже неудобным. Поэтому я решил добавить ссылку на наш скрипт:

Теперь компьютер можно оправлять спать просто введя в терминале:

Чтобы изменить время будильника, меняем дату в crontab.

Ну вот вроде и всё. 🙂 Конечно можно было бы ещё модифицировать скрипт sleepandwakeup - чтобы он и время будильника сразу менял, но пока ещё руки не дошли.

Это 1-ая моя статья, поэтому старался всё максимально подробно описать (в частности того, что нужно). В интернете вы подробнее можете узнать об cron и rtcwake.

Готовитесь к лету? Хотите держать в хорошем состоянии свой сад и огород? Магазин строительной техники ИНГРИН поможет вам в этом, предлагая самую лучшую садовую технику по очень приятным ценам. Настоящий садовод оценит хороший выбор в магазине.