1. leht 1-st

croniga käivitatud skript ei kirjuta logi

Postitatud: 13.11.2007, 13:07
Postitas RiisPeet
Mul tehtud skript
#!/bin/sh
hdparm -C //dev/sdb>>/abivahen/sdolek.log
hdparm -C //dev/sdb>>/abivahen/sdolek.log
date>>/abivahen/sdolek.log

kui käsurealt käivitan kirjutab faili sdolek.log
//dev/sdb:
drive state is: active/idle
//dev/sdb:
drive state is: active/idle
Tue Nov 13 08:15:24 EET 2007

ehk täpselt selle mida tahan
kui panen sama asja croniga käivituma, siis kirjutab sdolek.log faili
Tue Nov 13 08:15:24 EET 2007
Tue Nov 13 08:15:24 EET 2007
Tue Nov 13 08:15:24 EET 2007
Tue Nov 13 08:15:24 EET 2007
ehk kuupäeva 4! korda ja ketta staatuse kohta mitte üks sõna.
Kuidas ma saaksin, et ka croniga käivitades kirjutaks samuti nagu käsurealt käivitades?

Postitatud: 13.11.2007, 16:03
Postitas wk
Mis kasutajana Sa scripti käivitad? Ja mis kasutajana cron selle scripti käivitab? Ja mis Sul cronis on üldse, et seda scripti 4 korda käivitatakse?

Üsna suure tõenäosusega kasutad Sa eri kasutajaid, crontabi omal puuduvad õigused /dev/sdb poole pöördumiseks.

Lisaks. Skriptides on kaval anda käsud täisteega (full path).

Postitatud: 13.11.2007, 16:25
Postitas RiisPeet
See probleem, et ketaste staatust ei kirjutanud lahenes. Tõepoolest tuleb ette anda full path, aga nüüd kirjutab kogu juttu ikkagi 4 korda.

/var/spool/cron/tabs/root failis on rida:

* * * * * /abivahen/sdolek

lisaks veel mitu rida mis ma olen # ära kommenteerinud
# on ju ikka crontabis kommentaari märk ja rida ei arvestata??

sama näitab ka crontab -e

Kustutasin kõik muud read ära ikka kirjutab 4 korda.

Kas kusagil mujal võib veel olla midagi mida cron käivitab?

Postitatud: 13.11.2007, 18:00
Postitas wk
Kas käisid käsitsi /var/spool/cron... failide kallal?

Kood: Vali kõik

Note that crontabs in this directory should not be accessed directly - the crontab command should be used to access and update them.
Proovi "crontab -e"-ga kõik puhtaks teha. Võid cron'ile restardi teha. Kui cron puhas, proovi uuesti lisada.

Seda soovidki, et see skript kord minutis käivitataks?

Postitatud: 14.11.2007, 13:00
Postitas RiisPeet
Jah, full path oli tark mõte....

Käisin esialgu käsitsi kallal, siis kustutasin faili crontab -r. Tegin uue faili crontab -e. Kirjutas ikka 4 korda. Siis kustutasin ära etc/crontab ja kirjutasin selle uuesti. Ikka kirjutas logi 4 korda.

Siis jagasin välja, et arvutile võiks korra paari kuu jooksul restardi teha... Peale seda hakkas norm toimima. Ei teagi mis viga võis olla....

Postitatud: 14.11.2007, 13:44
Postitas sander85
teinekord aitab ka croni teenuse taaskäivitamine, siis ta peaks unustama ära taolised ülearused käsud..

Postitatud: 14.11.2007, 16:13
Postitas RiisPeet
Kuidas see cron taaskäivitamine käib? Cron restart ei toiminud...

Postitatud: 14.11.2007, 16:19
Postitas hr.john
RiisPeet kirjutas:Kuidas see cron taaskäivitamine käib? Cron restart ei toiminud...
killall cron
tapab k6ik cron nimelised maha
/usr/sbin/cron
paneb j@lle k@ima

kuigi normaalsetes systeemides v6ix olla
/etc/init.d/cron restart

Postitatud: 14.11.2007, 20:02
Postitas RiisPeet
cron restart annab vastuseks

cron: cant't lock /var/run/cron.pid, otherpid may be 4241: Resource temporarily unavailable.

siis päästab kui kustutan ära selle cron.pid faili, mis iganes asi see ka ei ole..

Postitatud: 15.11.2007, 06:47
Postitas priit
RiisPeet kirjutas:cron restart annab vastuseks

cron: cant't lock /var/run/cron.pid, otherpid may be 4241: Resource temporarily unavailable.

siis päästab kui kustutan ära selle cron.pid faili, mis iganes asi see ka ei ole..
pid = process identifier.

Postitatud: 16.11.2007, 08:55
Postitas RiisPeet
Aga kas see on normaalne, et cron restardi jaoks tuleb pid faili käia kustutamas?

Postitatud: 16.11.2007, 09:40
Postitas sander85
ei ole tegelikult..

Postitatud: 19.11.2007, 21:09
Postitas wk
Riispeet, räägi täpsemalt, kuidas Sa seda restarti teed üldse?

Postitatud: 20.11.2007, 07:53
Postitas RiisPeet
Käsureale korraldus:

cron restart

Mis variandid veel on??

Postitatud: 20.11.2007, 08:56
Postitas sander85
root kasutajana

/etc/init.d/cron restart või siis /etc/init.d/crond restart