Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Peterx 23 Ledna 2008, 14:08:37

Název: Uprava crontabu cez skript
Přispěvatel: Peterx 23 Ledna 2008, 14:08:37
Zdravim kazdeho,
Mam taky mali problem, potreboval by som upravit crontab, alebo nahrat celkom novy cez skript.
Skript by mal byt spusteny root-om a mal by sa upravit crontab uzivatela. Vie niekdo ako na to?
Standardne to editujem crontab -e
Název: Re: Uprava crontabu cez skript
Přispěvatel: Pavelp 23 Ledna 2008, 14:16:52
Resit jinak, je to prilis nebezpecne. Od toho je cron, aby spoustel ulohy kdy ma. Kdyz si bude pod sebou modifikovat zidlicku, muze se stat, ze si u ni urizne nohu a padne na *censored* a s nim cela masina. Tohle programator nedela.

Název: Re: Uprava crontabu cez skript
Přispěvatel: Jozef Mlich 23 Ledna 2008, 15:16:21
nasel jsem ve svych skriptech nejaky priklad:
Kód: [Vybrat]
cront=`crontab -l | grep -v stats_dev | grep -v "#"`
crontab=`echo -e "$cront \n*/5 * * * *  /usr/local/bin/stats_dev"`
echo "$crontab" | crontab -

1) do promenne $cront precte crontab krome radku obsahujicich "stats_dev"
2) do $crontab se zapise $cront (puvodni crontab) + novy radek s pozadovanymi udaji
3) ulozi se to
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 23 Ledna 2008, 15:17:30
To ano, ja len potrebujem donho pridat jeden zaznam.
Inu moznost nemam.

Ten skript este dnes vyskusam, dik
Název: Re: Uprava crontabu cez skript
Přispěvatel: LS 23 Ledna 2008, 15:37:06
Pridat zaznam do cronu se rovna pridani jednoho radku do textoveho souboru. Souhlasim s Pavlemp ze je to nebezpecne, ale nerozumim, v cem je technicky problem?
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 23 Ledna 2008, 15:42:57
Ak by som vedel ale kde je ten textovy subor.
Ide o to ze niekde daleko je jeden pocitac s ubuntu 7.10
Tem mi kazdy den v urcitom case sprsvi to ze sa pripoji na net, stiahne jeden skript ak tam je a potom sa odpoji.
Stiahnuty skript spusti iny skript ktory spusta rootovsky cron v urcitom case.
K pocitacu nemozem, na dialku pristup nie je atd...
Takze toto je moja jedina moznost.
Samozrejme pred tym ako to tam dam naostro tak to cele odskusam...
Název: Re: Uprava crontabu cez skript
Přispěvatel: Pavelp 23 Ledna 2008, 19:42:27
Nevidim do toho az tak dokonale, ale nedelate to opacne ? Nemel byste cronem testovat existenci toho souboru a kdyz existuje, provest nejake akce ? Zmodifikujete nejaky  pomocny soubor, zapiste do nej 1 , nebo 0  a ten skript si ho nacte a podle nej se zachova, trebas exit 0, takze opetovne volani cronem nic nezpusobi. Ale nemodifikujte skript.


 
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 24 Ledna 2008, 01:03:45
Nie takto to ma byt. ten skript stahuje presne pre taketo pripady ked treba nieco napravit..
Název: Re: Uprava crontabu cez skript
Přispěvatel: LS 24 Ledna 2008, 08:41:19
komu neni rady,...  ;D

soubory ktere chcete upravovat jsou /etc/cron*
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 24 Ledna 2008, 10:46:31
nie
mam tam:
cron.d
cron.hourly
cron.dayly
cron.weekly

cron.d - je adresar anacronu a nie cronu
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 24 Ledna 2008, 10:48:21
nasiel som crontab v adresary /var/spool/   ;D
Název: Re: Uprava crontabu cez skript
Přispěvatel: LS 24 Ledna 2008, 12:19:34
viz. man cron

psal jsem /etc/cron*, takze samozrejme take /etc/crontab, /etc/cron.d/*, /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly atd. !
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 24 Ledna 2008, 13:29:17
hej, ale to je anacron :)
Název: Re: Uprava crontabu cez skript
Přispěvatel: LS 24 Ledna 2008, 14:53:05
Soubor /etc/crontab je definice pro cron. Schvalne se do toho souboru podivejte. Pokud (stejne jako ja) nechcete, aby se hodinove, denni, tydenni a mesicni skripty spoustely pres anacron ale aby byly nadale obsluhovany klasickym cronem, prislusnym zpusobem si (stejne jako ja) soubor /etc/crontab upravte.
Název: Re: Uprava crontabu cez skript
Přispěvatel: kkaarreell 24 Ledna 2008, 15:27:32
Tak tak, podle manualove stranky je konfiguracni soubor pro anacron /etc/anacrontab.

Na systemech debian ci red hat jsou adresare /etc/cron.{daily,weekly,monthly} vyuzivany i cronem, ne jen anacronem. Rozdil je samozrejme ve zpusobu jejich fungovani.
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 12 Května 2010, 14:39:42
Takze toto by fungovalo:

Kód: [Vybrat]
cront=`crontab -l | grep -v stats_dev | grep -v "#"`
crontab=`echo -e "$cront \n*05 * * * *  echo skuska >>subor.txt"`
echo "$crontab" | crontab -

Ale vysledok je asy takyto:
V crontabe mi to na koniec predosleho riadku prida "^M" (bez uvodzoviek :))
a vysledny subor ma nazov "subor.txt?"

Vie s tym niekto poradit?
Jenda sa o ubuntu 8.04
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 14 Května 2010, 12:55:59
Nikto nic?  ???
Název: Re: Uprava crontabu cez skript
Přispěvatel: Peterx 19 Května 2010, 10:06:43
Mozno mi bude vediet niekto pomoct.
Chcem pouzit toto:

Kód: [Vybrat]
]
cront=`crontab -l | grep -v stats_dev | grep -v "#"`
crontab=`echo -e "$cront \n*05 * * * *  echo skuska >>subor.txt"`
echo "$crontab" | crontab -

avsak skript sa bude spustat pod rootom a portebujem aby to upravilo crontab urciteho uzivatela. Je to mozne?