(SOLVED) crontab + squid3 -z + script

 ( csachi | 2015. január 16., péntek - 15:10 )

Sziasztok!

Van egy bash shell scriptem, amely parancssorban lefut. A dolga csak annyi, hogy leállítja a squid-et, törli a disk cache-t, majd újra kreálja.
Viszont, ha crontab által időzítem a "/usr/sbin/squid3 -z" nem kreálja le a könyvtár struktúrát és természetesen a szervíz sem indul.
LOG-ban csak annyi van, hogy hát nincs meg a disk cache ... a szervíz kénytelen leállni.
Ha parancssorban service squid3 start kiadva, akkor meg lekreálja a disk cache-t, már csak azért is kipróbáltam. Szóval, ha menne crontab alatt, akkor úgy vélem kellene sikerülnie, a kettőből egynek.

Lehet az erdőtől nem látom a fát, vagy túl fáradt vagyok, mert kuglival sem tudtam használható találat kigurítani.
Van erről leírás, vagy csak a shell script kell igazítani, hogy az crontab alatt is lefusson, hiba nélkül.

#!/bin/bash

service squid3 stop

mv /vcache/squid /vcache/squid.old

mkdir /vcache/squid
chown proxy:proxy /vcache/squid/

/usr/sbin/squid3 -z

service squid3 start

rm -fr /vcache/squid.old

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

root-ként futtatod a szkriptet?
megkérdezhetem minek kell ez a skript? ha a hely miatt, a cache_dir direktívával tudod szabályozni squidconfból.

Na de ha mégis ragaszkodsz a szkripthez akkor csak simán töröld a mappa tartalmát:
#!/bin/bash

service squid3 stop

rm -fr /vcache/squid/*

/usr/sbin/squid3 -z

service squid3 start

Mivel ez chache szerintem nem kell annyira vigyáznod a tartalmára, mivel úgy is törlöd.
szerk:
esetleg service squid3 start helyett /etc/init.d/squid start

A hibaüzeneteket érdemes lenne kiírni egy fileba, hogy látszódik-e mi a gond, ha eddig nem tetted meg esetleg..

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

A root által futtatva a bash shell-ben a script lefut, azzal nincs is semmi gond. A root crontab-jában viszont produkálja a hibát ugyan az a script.
LOG-ot majd hétfőn csatolok.
A disk cache törlés azért van, mert egy idő után lelassul a squid, ha törlöm gyorsabb lesz.

<boríték>
a root shellváltozói között akad egy/több, ami súg a squidnek -- ezek a változók nem léteznek a cron által nyújtott mezitlábas környezetben, így a squid hülye marad
</boríték>

Ezt nem tudtam és nem gondoltam erre. Ez alapján el tudok indulni a megoldás felé.

A megoldás, a következő két sor hozzáadás volt a script-hez, így már csont nélkül teszi a dolgát, az adott időpontban.

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Köszönöm mindenkinek a segítségét!