Hello mindenki!
Arra keresnék megoldást, hogy miként lehetne egy bash scriptből beexportálni egy dátumot, és egy fájlnevet a felhasználó crontab-jába?
A fájlnév azért lényeges, mert abban van a tulajdonképpeni parancs aminek le kell futnia.
Mivel nagyon hosszú, emiatt a cron kiakad tőle. De fájlból meghívva nincs vele gond.
A jelenlegi script megkérdezi az időt : ÉÉ HH NN ÓÓ PP formában. Jobb nem jutott eszembe.
Már itt elakadtam, mert nem tudom hogy kérhetek be 5 különböző értéket.
A read $1, $2 stb nem segített. Lehet hogy valami zárójelek kellenének? Ennek hol nézhetek utána?
Ráadásul a cronnak pont fordítva kell megadni a dátumokat. A változókkal gondoltam megoldani, de nem jött össze.
A másik meg éppen az a fájl melyet majd meg kell hívnia a cron-nak. Jelenleg így oldottam meg a scriptből.:
touch ${fájl_neve}_cron && chmod 775 ${fájl_neve}_cron
echo "#!/bin/bash" > ${fájl_neve}_cron
echo "a többi dolog" >> ${fájl_neve}_cron
Létezik esetleg elegánsabb megoldás is?
- 1443 megtekintés
Hozzászólások
Megoldva. Nincs touch, mert symlink attach befigyelhet.
cron_file=`mktemp -p /tmp`
van helyette.
A read meg több dolgot is beszed.
read ÉÉ HH NN ÓÓ PP
de ékezetek nélkül, és az évre nem is igazán van szükség.
Ideiglenes fájl létrehozása:
cron_file=`mktemp -p /tmp`
Meglévő crontab kiexportálása
crontab -l > ${cron_file} 2>&1 | grep -v "no crontab for" > ${cron_file}
Ez a végén azért van hogy ne legyen hibaüzenet ha nincs a felhasználónak crontabja.
Majd echo-val hozzátesszük ami kell még, és a végén
crontab ${cron_file}
De a végén ne felejtsük el eltávolítani az ideiglenes fájlt.
rm -f ${cron_file}
- A hozzászóláshoz be kell jelentkezni
csak biztonsági szempontból, érdemes lenne megnézni, hogy a /tmp-ben az átmeneti fájl milyen jogosultságokkal jön létre a műveletek idejére. És egy chmod 700 szükség esetén akár imho a mktemp után.
- A hozzászóláshoz be kell jelentkezni
a kiexportal helytelen, eleg az exportal, nem kell halmozni, hogy beimportal, felupgrade-el meg ilyenek :)
- A hozzászóláshoz be kell jelentkezni
Ez nekem szól? Akkor most hogyan is legyen? Mi van elrontva?
S csak az exportál akkor is működik ha még egyáltalán nem létezik a crontab?
- A hozzászóláshoz be kell jelentkezni
Véletlenül, úgy egészen véletlenül nem az at parancsot keresed...?
- A hozzászóláshoz be kell jelentkezni
szerintem meg a nohup-ot...
- A hozzászóláshoz be kell jelentkezni
Sajnos én csak a crontab-ot ismertem eddig mint időzítőt. Ehhez faragtam hozzá a egy scriptet.
De akkor most melyik lenne a jó megoldás? A biztonságos?
Egy mencoder parancsnak kell lefutnia az alábbi módon.
Nincs otthon senki, a gép bekapcsol, nem jelentkezik be senki, a mencoder parancs lefut, majd a gép kikapcsol. Egyfajta videómagnóként.
- A hozzászóláshoz be kell jelentkezni
attól, hogy mencodert akarsz futtatni, minek is kell dátum a parancs nevébe?
írsz egy scriptet, ami a date paranccsal előszedi az aktuális dátumot, felparaméterezi a mencodert a kedvenc paramétereiddel és felveszi a cuccot.
ezt a crontab-ba @ reboot-tal teszed bele, hogy amikor bebootolt, azonnal induljon.
én nem bonyolítanám agyon ezt az egészet.
- A hozzászóláshoz be kell jelentkezni
Igen lehet egyszerűen is kapásból mindig szerkesztve EGY parancsot.
Régen így is csináltam. Semmi bonyolultság. De tudod elegem lett abból amikor véletlenül nem írtam át a csatorna nevét, vagy a felvétel hosszát.
S ezért túl bonyolítottam. Készítettem egy interaktív tvrip scriptet, mely kilistázza az adókat, ahonnan válogathatok, ha kérem azonnal felveszi a műsort s elmenti egy ugyanolyan nevű mappába, de ha később kell felvenni akkor elmenti a crontab-ba. A létrehozási dátumot meg azért veszi fel, hogy tudjam mi micsoda.
Sőt még ellenőriz is hogy léteznek-e a működéséhez nélkülözhetetlen fájlok, mappák stb, ha nem létezik akkor figyelmeztet. Stb.
Ha gondolod szívesen elküldöm véleményezésre.
Aztán majd megmondod hogy barom vagyok hogy ilyenre pazarlom az időmet. Én most tanulgatom a scriptelgetést. Ez egy jó kis tanulási gyakorlat.
- A hozzászóláshoz be kell jelentkezni
Mennyivel lenne jobb az at? Ez is lefut akkor ha nincs bejelentkezve a felhasználó? Ezt speciel nem találtam a man-ban.
- A hozzászóláshoz be kell jelentkezni
Nagyjából teljesen, hiszen pont azt csinálja, amit te szeretnél...
- A hozzászóláshoz be kell jelentkezni