тогда последовательно вкратце опишите пожалуйста как делали
Ну елки-палки. За это время можно было всю статью наизусть заучить.
Читать что ли лень самому?
Бессовесный.
1. Высталяем время в БИОСе в UTC.
Сколько же это - узнаешь из своего часового пояса.
У меня Уфа - это UTC+5. Таким образом, я должен выставить в БИОСе время на 5 часов назад.
Звучит/выглядит ужасно, согласен. Возьми себя в руки.
2. Грузимся. Если на машине есть Инет, с удивлением видим, что часы показывают правильное время. Расслабляемся.
3. "Исправляем" поведение Линукса при выключении, который стремится записать текущее время в БИОС (иначе все наши действия на шаге №1 окажутся бесполезными). Для этого редактируем файл /etc/init/hwclock-save.conf (не забываем, что для этого нам понадобятся права root).
Необходимо закомментировать строку
exec hwclock --rtc=/dev/rtc0 --systohc $tz --noadjfile $badyear
Она в этом файле предпоследняя. Комментируем как обычно, вставив знак # в начало строки.
Любознательные мидитируют над
man hwclock
(ну, ты об это можешь глаза не ломать).
4. Подготовительная часть закончилась, приступаем к установке будильника.
Обнуляем будильник
sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
И устанавливаем на нужное нам время
sudo sh -c "echo `date '+%s' -d '+ 5 minutes'` > /sys/class/rtc/rtc0/wakealarm"
Вот тут придется, возможно, немного разобраться с требуемым шелл-у форматом даты.
Вышеприведеная команда взводит будильник на 5 мин вперед от текущего времени.
Если нужно "плясать" от "абсолютного" времени, то команда будет где-то примерно такой
sudo sh -c "echo `date '+%s' -d '+ 1 day'08:00` > /sys/class/rtc/rtc0/wakealarm"
(эта команда всегда будет ставить тебе будильник "назавтра в 8:00")
5. Того, чего нет в статье.
Это я делал для себя.
Задача: просыпаться в одно и то же время каждый день. Максимально простые условия.
Пишем маленький скриптик из 2 команд установки будильника:
#!/bin/bash
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo `date '+%s' -d ' + 1 day'08:00` > /sys/class/rtc/rtc0/wakealarm
Делаем его исполняемым (man chmod). Копируем в папку /etc/init.d
По моему разумению, наиболее логично запускать его (т.е. процесс установки будильника) при выключении компа.
Как известно, выключению соответствует уровень выполнения 0.
Читаем
man update-rc.d
(ты можешь не читать)
и даем команду
update-rc.d my_great_script_on_poweroff start 11 0 .
где - "11" - нужный/незанятый номер из очереди скриптов в /etc/rc0.d/
и где my_great_script_on_poweroff - имя нашего коротенького скрипта из 2 команд
Примечание.
Я уже приводил как-то эту команду, и один из форумчан сообщил, что скрипт имеет шанс выполниться не только при выключении компа, но и при старте системы.
На просьбу пояснить, исходя из чего делается такой вывод, я, в моем понимании, ясного для себя ответа не получил.
В конце концов, наша задача (разбудить комп) позволяет и такое поведение.Че-то еще хотел, вроде, добавить, но из головы вылетело.
ЗЫ: если я тут в чем-то накосячил, читай оригинал.
Успехов.
Пока я тут сочинял, ты уже кое-что попробовал, я гляжу.
Зазря старался, выходит.
