Feed on
Posts
Comments

Problema: reikia paleisti komandą sudo ifconfig eth0 down Kiekvieną kartą, kai įsijungiu kompą ir pasileidžiu Ubuntu Linux. Sprendimas turėtų būti kitoks, reiktų aiškintis, kodėl užklausos į internetą route’inamos į eth0 interfeisą, o ne į wlan0 ir panašiai. Tačiau kaip laikinas workaround’as bus crontab panaudojimas tos komandos paleidimui kaskart įsijungus Ubuntu.
Dabar problema, kaip paleisti komandą root teisėmis crontab’e.
Kaip rašo forumuose naudoti sudo paprasto vartotojo crontab’e yra nepatartina. Todėl naudoju root user’io crontab. sudo crontab -e Atidaro root vartotojo crontab’ą. Ten pridedu eilutę: ifconfig eth0 down Perkraunu kompą, komanda nepaleidžiama, nežinau, kodėl.
Todėl pabandžiau paieškoti linux log’uose ko nors apie crontab veiklą.
dmesg | grep -i cron
dmesg’e jokios info apie crontab nelogg’inama.
Pasigoogl’inau ir radau, kad reikalingi log’ai yra /var/log/syslog. cat /var/log/messages | grep cron

Sep 20 11:57:52 Ubuntu anacron[5254]: Job `cron.daily' terminated
Sep 20 11:57:52 Ubuntu anacron[5254]: Normal exit (1 job run)
Sep 20 12:13:32 Ubuntu anacron[25787]: Anacron 2.3 started on 2015-09-20
Sep 20 12:13:32 Ubuntu anacron[25787]: Normal exit (0 jobs run)
Sep 20 12:24:45 Ubuntu anacron[26096]: Anacron 2.3 started on 2015-09-20
Sep 20 12:24:45 Ubuntu anacron[26096]: Normal exit (0 jobs run)
Sep 20 12:24:45 Ubuntu anacron[26152]: Anacron 2.3 started on 2015-09-20
Sep 20 12:24:45 Ubuntu anacron[26152]: Normal exit (0 jobs run)
Sep 20 13:17:02 Ubuntu CRON[26437]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Sep 20 14:02:44 Ubuntu crontab[28275]: (root) BEGIN EDIT (root)
Sep 20 14:03:43 Ubuntu crontab[28275]: (root) REPLACE (root)
Sep 20 14:03:43 Ubuntu crontab[28275]: (root) END EDIT (root)
Sep 20 14:05:01 Ubuntu anacron[1016]: Anacron 2.3 started on 2015-09-20
Sep 20 14:05:01 Ubuntu cron[965]: (CRON) INFO (pidfile fd = 3)
Sep 20 14:05:01 Ubuntu anacron[1016]: Normal exit (0 jobs run)
Sep 20 14:05:01 Ubuntu cron[1071]: (CRON) STARTUP (fork ok)
Sep 20 14:05:01 Ubuntu cron[1071]: (CRON) INFO (Running @reboot jobs)
Sep 20 14:05:01 Ubuntu CRON[1115]: (root) CMD (ifconfig eth0 down)
Sep 20 14:05:01 Ubuntu CRON[1097]: (CRON) info (No MTA installed, discarding output)
Sep 20 14:05:11 Ubuntu anacron[1870]: Anacron 2.3 started on 2015-09-20
Sep 20 14:05:11 Ubuntu anacron[1870]: Normal exit (0 jobs run)
Matau, kad komanda vykdoma, bet, kodėl ji nesuveikia. Log’e matau, pranešimą, kad (CRON) info (No MTA installed, discarding output) Pasigoogl’inu, kas yra MTA.
MTAmessage transfer agent, yra naudojamas išsiųsti tokius log’us į elektroninį paštą. Forumuose rašo, kad mano naudojama Ubuntu OS neturi tokio mail serviso įrašyto by default.
Įsirašau forumuose pasiūlytą package’ą. sudo aptitude install postfix Instaliacijos metu paprašo pasirinkti vieną iš variantų, kur bus siunčiamas mail’as.
Pasirenku local.
Perkraunu kompą, žiūriu į /var/log/messages, matau tą patį, išskyrus, kad neberodo pranešimo dėl MTA.
Dabar, kai jau turim MTA agentą, postfix įrašytą, tai galime pažiūrėti ir kas buvo išsiųsta paštu. sudo tail /var/mail/root

Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
Message-Id:
Date: Sun, 20 Sep 2015 14:56:24 +0300 (EEST)

/bin/sh: 1: ifconfig: not found (prieš tai nebuvo tokios direktorijos /var/mail/root, ji atsirado, tik suinstaliavus postfix ir kai atsirado pirmasis mail pranešimas, kurį jis atsiuntė į šią direktoriją).
Matom, kad ifconfig: not found.
Pasigooglinam sprendimą, randam, kad reikia naudoti /sbin/ifconfig. Pataisom crontab įrašą:/sbin/ifconfig eth0 down Perkraunam kompą. Valio, veikia. /var/log/messages įrašai nepasikeitę, /var/mail/root naujų pranešimų nerasta, tai reiškia, kad komanda buvo įvykdyta, komandos output’o nebuvo, taip pat ir klaidos pranešimų nebuvo.

Leave a Reply

Popo.lt tinklaraščiai. Hosting powered by   serverių hostingas - Hostex
Skip to toolbar