Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Просыпаине компа по таймеру ?  (Прочитано 4034 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RustemNur

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2939
  • умрешь с вами
    • Просмотр профиля
Re: Просыпаине компа по таймеру ?
« Ответ #15 : 07 Июля 2010, 20:55:09 »
тогда последовательно вкратце опишите пожалуйста как делали

Ну елки-палки. За это время можно было всю статью наизусть заучить.
Читать что ли лень самому?
Бессовесный.

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 команд

Примечание.
Я уже приводил как-то эту команду, и один из форумчан сообщил, что скрипт имеет шанс выполниться не только при выключении компа, но и при старте системы.
На просьбу пояснить, исходя из чего делается такой вывод, я, в моем понимании, ясного для себя ответа не получил.
В конце концов, наша задача (разбудить комп) позволяет и такое поведение.


Че-то еще хотел, вроде, добавить, но из головы вылетело.

ЗЫ: если я тут в чем-то накосячил, читай оригинал.

Успехов.


Пока я тут сочинял, ты уже кое-что попробовал, я гляжу.
Зазря старался, выходит. :)
« Последнее редактирование: 07 Июля 2010, 21:06:45 от RustemNur »

Оффлайн dima81

  • Автор темы
  • Активист
  • *
  • Сообщений: 378
    • Просмотр профиля
Re: Просыпаине компа по таймеру ?
« Ответ #16 : 07 Июля 2010, 21:02:54 »
Не зазря старался :), как раз встал на проблеме циклической установки будильника. Спасибо!!!
xubuntu 14.04.3
nout Lenovo B590

 

Страница сгенерирована за 0.028 секунд. Запросов: 23.