Cronjob geht nicht

DarkTrinity

Member
Hallo liebe Community,

ich möchte gerne jede Woche eine Liste von IP- Adressen heruntzer laden und automatisch mit fail2ban verarbeiten. Dazu habe ich im private- Verzeichnis eines Webspaces ein ausführbares Script und entsprechende Dateien für die Datenspeicherung abgelegt:

Bash:
root@cis1:/var/www/clients/client1/web2/private/serverblacklist# ls -al
total 6372
drwxr-xr-x 2 web2 client1    4096 Aug 17 19:16 .
drwx--x--- 4 web2 client1    4096 Jul 19 19:06 ..
-rw-r--r-- 1 web2 client1  406814 Aug 17 19:08 all.txt
-rw-r--r-- 1 web2 client1     164 Jul 20 20:52 cleanlist.sh
-rw-r--r-- 1 web2 client1 6092400 Aug 18 03:14 fbliste.txt
-rwxr-xr-x 1 web2 client1     356 Jul 22 13:33 refreshlist.sh

Es soll 1x pro Woche die ausführbare refreshlist.sh ausgeführt werden. Also habe ich im ISPC Panel für den betroffenen Webspace einen Cron- Eintrag angelegt, der die Ausführung (hoffentlich) 1x pro Woche triggern sollte - und zwar Sonntags um 0:00. Dazu habe ich einen Screenshot hochgeladen.

screenshot.png


Allerdings wird das Script nicht ausgeführt. An den Zieldateien sehe ich anhand des Zeitstempels, daß diese nie verändert wurden.

Wenn ich das Script über SSH manuell anstubse funktioniert jedoch alles wie geplant.

Anmerkung: Für den betroffenen Webspace gibts jedoch auch keinen Shelluser. Statt dessen habe ich mich als root angemeldet und die Scripte gebastelt. Danach habe ich die Rechte entsprechend des Clients/Webs (Gruppe&User) mittels chown- Befehl assigned. Das sieht mana uch an dem Codesnip oben. Ist das vielleicht sogar die Ursache ? Muss ich dafgür explizit einen Shelluser anlegen ?

Lieben Dank vorab :)
 
Zuletzt bearbeitet:

DarkTrinity

Member
Bash:
root@cis1:/etc/cron.d# cat ispc_chrooted_web2
MAILTO=''
SHELL='/usr/sbin/jk_chrootsh'

0       0       *       *       0       web2    /private/serverblacklist/refreshlist.sh >>/private/cron.log 2>>/private/cron_error.log #domain.local
 

Till

Administrator
Das ist ok soweit. Du ahst einen chrooted Cronjob erstellt, das ist sicherheitsmäßig auch absolut ok. Ich vermute mal Dein Shell script verwendet Programme die nicht im jail liegen, und daher funktioniert er nicht.
 

DarkTrinity

Member
Danke für den Hinweis.

Der betroffene Kunde ist schonmal eine Fehlerquelle. In seiner Einrichtung ist folgendes fest gelegt:
  • Erlaubter Cronjob Typen (chrooted und full erlauben auch url): URL-CRON
So kann das ja wahrscheinlich nicht funktionieren...

Das Script verwendet offenbar keine Befehle, die nicht in der chroot enthalten sind, nämlich nur wget, echo, sleep, rm, cat und die for Schleife.

Nun kann ich also den Kunden mit der Eigenschaft "Chrooted Cron" versehen, was theoretisch dann funktionieren müsste.
 

Werbung

Top