kleine crontab frage...

Stevil

Well-Known Member
da ich noch nie damit gearbeitet habe und ich auch irgendwie nirgendwo in meinem system ein log dazu finde, hier die frage, ob ich folgende crontabs richtig angelegt habe...

Code:
* 20 * * * cvsup /tmp/Portupdate-5.3
* 21 * * * /usr/ports/make index
* 22 * * * /usr/ports/portupgrade -uU
30 * * * * /usr/local/bin/ez-ipupdate -S gnudip -s update.nerdcamp.net:3495 -u stevil:meinpasswort -h stevil.nerdcamp.net -i sis0

danke fürs drüberschaun!
 
hmm tja, die frage ob du es richtig gemacht hast, schließt ein das wir wissen was du wolltest.

aber soviel kann ich dir sagen:
die ersten 3 einträge werden täglich zur angegebenen stunde ausgeführt und
der letzte eintrag wird stündlich ausgeführt.
 
@qfat
ich will nur wissen, ob die oben angegebenen cronjobs richtig durchlaufen
was sie machen...nun ja..das ja nich schwer zu erkennen, oder? ;)

@I.MC
danke!

also das lief zB heute schon durch:

Code:
Sep 20 20:17:00 192 /usr/sbin/cron[1938]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:18:00 192 /usr/sbin/cron[1941]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:19:00 192 /usr/sbin/cron[1944]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:20:00 192 /usr/sbin/cron[1948]: (root) CMD (/usr/libexec/atrun)
Sep 20 20:20:00 192 /usr/sbin/cron[1949]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:21:00 192 /usr/sbin/cron[1953]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:22:00 192 /usr/sbin/cron[1957]: (operator) CMD (/usr/libexec/save-entr
opy)
Sep 20 20:22:00 192 /usr/sbin/cron[1958]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:23:00 192 /usr/sbin/cron[1972]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:24:00 192 /usr/sbin/cron[1975]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:25:00 192 /usr/sbin/cron[1980]: (root) CMD (/usr/libexec/atrun)
Sep 20 20:25:00 192 /usr/sbin/cron[1981]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:26:00 192 /usr/sbin/cron[1985]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:27:00 192 /usr/sbin/cron[1988]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:28:00 192 /usr/sbin/cron[1991]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:29:00 192 /usr/sbin/cron[1994]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:30:00 192 /usr/sbin/cron[1999]: (root) CMD (/usr/libexec/atrun)
Sep 20 20:30:00 192 /usr/sbin/cron[2000]: (root) CMD (/usr/local/bin/ez-ipupdate
 -S gnudip -s update.nerdcamp.net:3495 -u stevil:xxxxx -h stevil.nerdcamp.net
-i sis0)
Sep 20 20:30:00 192 /usr/sbin/cron[2001]: (root) CMD (cvsup /tmp/Portupdate-5.3)
Sep 20 20:31:00 192 /usr/sbin/cron[2009]: (root) CMD (cvsup /tmp/Portupdate-5.3)
 
Also die ersten 3 Einträge sind ganz sicher "falsch", denn damit wird das Kommando zu jeder Minute innerhalb der angegebenen Stunde ausgeführt (was man in Deinen Logs auch schön sieht!!!)!
Das willst Du sicher nicht! Gib mal besser eine Zahl in der ersten Spalte an!
Die Spalten bedeuten der Reihe nach von links nach rechts:

MINUTE _ STUNDE _ TAG _ MONAT _ WOCHENTAG _ USER _ COMMAND

Gruß,

Ice
 
Zuletzt bearbeitet:
Mmh, sollte aber nur jede Minute bei 20 Uhr geschehen, oder sehe ich das falsch. Trotzdem sicher nicht der gewünschte Effekt. Eine '0' am Anfang sollte das abstellen, dann wird das nur noch jeden Tag einmal um 20 Uhr ausgeführt.

Gruß, I.MC
 
@I.MC

Ja, jede Minute innerhalb der angegebenen Stunde.
60x portupgrade innerhab einer Stunde ist dann doch schon etwas heftig, denke ich... ;)

Gruß,

Ice

EDIT:

Jetzt fällt mir gerade auf, dass Du sehr interessante Pfade und Parameter benutzt! Das ist doch ein Fake, oder? Was soll denn z.B. ein "portupgrade -uU" (falls es wirklich im Pfad /usr/ports existiert) bewirken???????
 
Zuletzt bearbeitet:
hmhm...hatte nen "crontab" maker im web gefunden. der hat einen den gewünschten crontab gebastelt...

also ich will um

20 uhr täglich --> cvsup
21 uhr täglich --> make index
22uhr täglich --> portupgrade -uU
alle 30min --> ez-update
 
@Stevil

Was sind das für seltsame Pfade und Parameter? portupgrade -uU ???????

Siehe EDIT in meinem letzten Posting!

Gruß,

Ice
 
Ich denke mal, das was Du willst, könnte ungefähr so aussehen:
Code:
1 20 * * * cvsup -g -L 2 /tmp/Portupdate-5.3
1 21 * * * /usr/local/sbin/portsdb -uU
1 22 * * * /usr/local/sbin/portupgrade -ra
30 * * * * /usr/local/bin/ez-ipupdate -S gnudip -s update.nerdcamp.net:3495 -u stevil:meinpasswort -h stevil.nerdcamp.net -i sis0
Gruß,

Ice
 
narf...gnaaaadenlos verhaufen...muß natürlich "portupgrade -aR" heißen....

danke für deine hilfe, ich baus direkt mal ein ;)
 
@Stevil

Bist Du Dir sicher, dass Du täglich das portupgrade ausführen willst????
Ist das nicht ein bischen "Versionswahnsinn"????
Vor allem solltest Du daran denken, dass das sicher nicht immer glatt durchlaufen wird, sondern bei irgendwelchen interaktiven Abfragen stehen bleibt. Das ist dann ganz schön nervig, wenn man morgens an so einem Punkt steht.......
Die Boardsuche liefert einige Infos dazu.

Also ich persönlich mache nur Updates, wenn diese auch sinnvoll oder notwendig sind, aber das ist ja jedermans persönliche Ansicht.

Gruß,

Ice
 
joa, bin versionsjunkie ;)
ich lass es ma laufen...wenn es fehler gibt, hab ich ja loggs...und einfrieren wird der rechner bei problemem auch nicht (denk ich jedenfalls mal)...
 
Portupgrade lässt sich NICHT per Cron benutzen!

Es funktioniert nicht richtig. Ich habe dazu schon PRs eingesendet... früher war es sogar noch so, dass es die zu updatenden Programme gelöscht hat!!! Irgendwann wird das wohl mal repariert... PR is noch offen.

Gruß, I.MC
 
Stevil schrieb:
also ich will um

20 uhr täglich --> cvsup
21 uhr täglich --> make index
22uhr täglich --> portupgrade -uU
alle 30min --> ez-update
Das ist Bullshit. Woher weisst du denn, dass cvsup bis 21Uhr fertig ist? Und warum muessen die Server denn genau um 20 Uhr belastet werden? "Glatte" Zeiten sind fuer sowas nicht gut, weil wenn das mehrere machen....

Du willst vielleicht eher sowas:

Code:
43    6    */2   *    *   cvsup &&  portsdb -uU

Und portupgrade an sich willst du eh nicht unbeaufsichtigt laufen lassen.
 
batch
----------------
Portupgrade lässt sich NICHT per Cron benutzen!

Der arme cron - jetzt wird er schon mit so grosser Arbeit wie portupgrade belastet! ;'( Probier doch bitte mal:

batch -f <Pfad zum selbstgeschrieben Shellskript>

batch gehört zu at. At wird durch atrun in /etc/crontab alle 5 Minuten aufgerufen. Für mehr Informationen siehe bitte:

# man batch
# man atrun

Also noch besser:
Code:
43    6    */2   *    *   /usr/bin/batch -f /usr/local/sbin/systemupdate

Shellskript
--------------
Und das Shellskript /usr/local/sbin/systemupdate könnte vielleicht so aussehen (kein portupgrade!!!):

Code:
#!/bin/sh
#/usr/local/sbin/systemupdate
#Sicherheitskontrolle und Systemaktualisierung
#Andy, 21.9.2004

#FreeBSD-Sicherheitsloecher suchen und stopfen mit security/freebsd-update
echo "*************************************************"
echo "Betriebssystem-Sicherheitsloecher suchen und stopfen.."
freebsd-update fetch
freebsd-update install

#Sicherheitsloecher der Programme suchen und melden mit security/portaudit
echo "******************************************"
echo "Software-Sicherheitsloecher suchen und melden.."
portaudit -F
portaudit

#Rootkit-Suche mit security/chkrootkit
echo "*****************************************"
echo "Rootkit-Suche.."
chkrootkit | grep -v "nothing found" | grep -v "not infected" | grep -v "not found" | grep -v
 "not tested" \
| grep -v "nothing deleted" | grep -v "no suspect files" | grep -v "is not promisc" | grep -v
 "nothing detected"

echo "Ende-Sicherheitscheck"
echo "*******************************************"
echo "Aktualisierung der Software vorbereiten.."
cvsup -g /etc/ports-supfile > /var/log/cvsupdate1.log
portsdb -Uu
pkgdb -aF
pkgdb -F

echo "*************************************"
echo "Die zu aktualisierenden Programme"
echo "werden gesucht.."
pkg_version -l "<"

echo "Ende der Ports-Aktualisierungsvorbereitungen"
echo "******************************************"

Das Resultat der Shellskript-Abarbeitung wird Dir als E-Mail an root zugestellt.

anacron
------------
Falls deine Kiste nicht 24h/Tag läuft, musst Du anacron statt cron einsetzen. Siehe dazu bitte: http://www.bsdforen.de/showthread.php?t=6589
 
Zuletzt bearbeitet:
Komisch, wieso hat man denn zwei Systeme auf einmal unter FreeBSD. Andere Frage, wo landet denn der Oupt des Skripts? Also die ganzen echos...?

EDIT: Meine Fresse, steht ja da... Lesen bildet :-/

Gruß, I.MC
 
Zuletzt bearbeitet:
Na das teste ich doch direkt einmal, ob man damit portupgrade automatisieren kann (zumindest unwichtige Programe)

Gruß, I.MC
 
@all
warum ich dies mache? nun...einfach um zu schaun ob es geht und mir arbeit ersparren kann

@MrFixit
meine "erfahrungen" zeigen, je öfter ich cvsup durchlaufen lasse, umso kürzer wird die tatsächliche updatezeit. ist echt so! :) und nein, mehrere prozesse machen das nicht auf meinem rechner. siehe thread zu "cpu hat langeweille" ;)
 
MrFixit schrieb:
Dann kann man eigentlich auch gleich /etc/periodic dafuer hernehmen. Fuer sowas ist das schliesslich da.
Das funzt für portupgrade ebenfalls nicht :-(... wie gesagt, da ist der PR noch offen.

Gruß, I.MC
 
Zurück
Oben