CRON a Suspend

Čas od času si sestavuji offline mapu ČR do telefonu a protože mám v počítači jen 4 GB RAM, musím celou operaci provádět nad pomalým notebookovým diskem. Celá záležitost pak trvá ke třem hodinám a je na snadě ji spustit po půlnoci, kdy mám navíc zrychlenou přípojku do internetu, pro stažení téměř 300 MB zdrojového souboru. Na nedávno rozjetém Openwrt je mimo jiné i CRON, který jsem původně využíval k vypínání rádií, nicméně lze přes něho probudit notebook po síti. Až se ten zapne, jeho CRON zase spustí skript na sestavení mé offline mapy. Ale co s těmi hodinami, kdy počítač běží na volnoběh. Nalezl jsem ideální příkaz na uspání, který nepožadoval práva roota:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Ten fungoval v dobách, kdy jsem skript spouštěl ručně z příkazové řádky, během chvíle, kdy jsem na počítači nepotřeboval pracovat. Pokud ten samý skript spustím přes CRON, nic se nestane. Na internetu jsem našel několik důvodů, proč tomu tak je. Nejsou podstatné, neboť ani jeden příklad, který měl funkčnost vrátit nakonec nefungoval. Nezbývá než šikovný příkaz nahradit ve skriptu příkazem:
sudo /usr/sbin/pm-suspend

a do /etc/sudoers, možno změnit též příkazem sudo visudo přidat následující:
yourusername pchostname=NOPASSWD:/usr/sbin/pm-suspend

to by mělo dostatečně omezit takto vytvořenou bezpečnostní mezeru (jak vznosný název).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *