PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie geht ein Cron Job ???



Smoker
10.04.2003, 12:04
Wie kann ich eine .php Datei als Coron Job automatisch laufen lassen ?
Ich denke das es darüber geht, da es in der Beschreibung des Hack´s steht, aber nicht wie :(

Also so, das diese Sache alle 5 Minuten Aktualisiert wird ohne das einer sie aufrufen muss.

Diese URL ...

http://www.smokers-board.de/board/signature.php

DANKE
Smoker

Smoker
10.04.2003, 12:27
wäre das richtig gedacht ?

# Alle 5 Minuten ausführen
# test.php ausfuehren
05 * * * * lynx -dump http://ihredomain.de/test.php

Thxx
Smoker

Smoker
10.04.2003, 12:51
Hmmm ich glaube ich vrauche noch ne Anleitung, wie sowas überhaupt via Shell installiere :(

Hoffentlich kann ir einer von Euch helfen.

DANKE
Smoker

scotty
10.04.2003, 13:50
exklusiv server puretec?

meine crontab (in shell "crontab -l" eingeben) sieht so aus:


# taegliches backup der datenbank
30 3 * * 1 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_montag.sql.gz
30 3 * * 2 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_dienstag.sql.gz
30 3 * * 3 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_mittowch.sql.gz
30 3 * * 4 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_donnerstag.sql.gz
30 3 * * 5 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_freitag.sql.gz
30 3 * * 6 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_samstag.sql.gz
30 3 * * 0 mysqldump -u<username> -p<passwort> db<dbnr> | gzip > backup_sonntag.sql.gz
# taeglich um 0 uhr
00 00 * * * lynx http://www.<deineurl>.de/<scriptname>.php -dump

das ganze wird per "vi" editiert; anleitung dazu hier:
http://faq.puretec.de/tools_features/cronjobs_automatisch_programme_starten/3.html

Smoker
10.04.2003, 14:11
Ja, soweit war ich jetzt auch gekommen, aber danke :)

Jetzt brauch ich nur noch was ich hier ändern muss, das die .php Datei alle 5 Minuten aufgerufen wird.
So wird sie ja nur einmal am tag ausgeführt ..

30 05 * * * lynx -dump http://ihredomain.de/test.php

DANKE
Smoker

scotty
10.04.2003, 14:19
so wird deine datei um 5:30 ausgeführt - täglich

du kannst werte (stunden minuten) auch teilen:

*/12 * * * * lynx .... :)

Smoker
10.04.2003, 14:21
Sorry, bin absoluter anfänger bei sowas :(

Kannste mir mal ne Zeile schreiben, bei der eine datei alle 5 MInuten aufgerufen wird ?

Thxx
Smoker

scotty
10.04.2003, 14:25
*/5 * * * * lynx -dump http://ihredomain.de/test.php

Smoker
10.04.2003, 14:25
Ahhh jetzt hat es geklickt :D

1 Stunde = 60 Minuten
/12 = 5 Minuten

Also ...

*/12 * * * * lynx -dump http://ihredomain.de/test.php
ist alle 5 Minuten

Oder muss das so sein ...

/12 * * * * lynx -dump http://ihredomain.de/test.php

bye
Smoker

scotty
10.04.2003, 14:31
ne - fehler von mir:

*/10 => alle 10 minuten

http://www.x-fish.org/tux_stayonline.html

Smoker
10.04.2003, 14:34
Also

*/5 = alle 5 Minuten ?

Bzw. dort steht ...

0-59/2 = alle 2 Minuten

Dann müsste doch 0-59/5 alle 5 Minuten sein oder ?

bye
Smoker

scotty
10.04.2003, 14:38
Original geschrieben von Smoker
Dann müsste doch 0-59/5 alle 5 Minuten sein oder ?
jo

Smoker
10.04.2003, 14:44
Gut, na mal sehen ob es klappt :)

bye
Smoker

Smoker
10.04.2003, 14:49
So, seitdem das nun eingerichtet ist, sind 5 minuten vergangen, aber es passiert nix :(

So habe es gemacht ( das meine.php ist nur ein bespiel, weil ich nicht möchte das die Orginal jetzt so aufgerufen wird ) ...

1. Shell an
2. crontab -e eingegeben
3. Interst Taste gedrückt
4. Text ...

#Ernueren
0-59/2 * * * * lynx -dump http://www.smokers-board.de/board/meine.php

5. ESC gedrückt
6. :wq eingeben

Wenn ich jetzt aufrufe ...

crontab -l steht da
#Ernueren
0-59/2 * * * * lynx -dump http://www.smokers-board.de/board/meine.php

Aber es läuft nicht :(

Was mache ich nur falsch :( ?

bye
Smoker

Bierhasser
10.04.2003, 15:10
Gib es so ein dann funktioniert es 100%

*/10 * * * * lynx -dump http://www.smokers-board.de/board/meine.php 2>&1 > /dev/null

Somit werden auch keine Mails versendet.

Smoker
10.04.2003, 15:18
Würdest du mir bitte noch schreiben ( bin anfänger ) was was zu sagen hat ?

DANKE
Smoker

Subu1
25.04.2003, 08:16
gleichmal abonieren ist mein Thema:D

Elyot
25.04.2003, 08:38
pack dir webmin auf den server. darüber kannst du ganz leicht conjobs erstellen ohne viel ahnung davon haben zu müssen.

Smoker
25.04.2003, 08:56
@Elyot

Wo finde ich das ?

bye
Smoker

Mystics
25.04.2003, 14:59
Original geschrieben von Smoker
Wo finde ich das ?Im Zweifelsfall immer bei Google :D

Erstes Ergebnis:
http://www.webmin.com/

Smoker
25.04.2003, 15:47
Danke.

Das sieht ja echt nach nem super tool aus.

bye
Smoker

Morpheus84
30.05.2003, 10:25
Ich habe SSH wie kan ich das da mit täglichen cronjobs für db sicherung machen ?

pogo
30.05.2003, 10:50
Gib mal crontab -l ein und schau dir die Ausgabe an. Wenn da etwas steht wie, dass du nicht die Rechte hast, Cron zu nutzen, wird es nicht gehen.

Ansonsten erstell eine Datei dateiname mit dem Inhalt
30 3 * * * mysqldump -u<username> -p<passwort> db<dbname> | gzip > backup.sql.gzDamit wird jeden Tag um 3.30 ein Backup erstellt.

Jetzt noch crontab dateiname eingeben und der Befehl wird in die Crontabelle eingetragen.

Wenn es klappt könntest du es erweitern, wie Scotty das im 4. Beitrag gezeigt hat.

Paridus
30.05.2003, 11:26
das habe ioch gerade wo anders gefunden


Hallo,

ich bin dieses problem umgangen und habe mir mittels php script ein CronJob - aehnliches script gebastelt.
Es sollte in den nachtstunden ein script anwerfen, welches automatisch die datenbank "putzt".

Prinzip:
mittels im fuss eingebundenen script wird bei jedem seitenaufruf das erstellungsdatum eine dummy .txt datei geprueft.
Wird die eingestellte zeit um 24 std. ueberschritten, dann wird automatisch das auszufuehrende script includet...

cronjob.txt <--- ist die dummy datei

<?php
// cronjob.php

$dateiname ='/is/htdocs/XXXXX/www.domain.tld/test/cronjob.txt';
$datumdatei= filemtime($dateiname);

$datumheute=time();
// 86400 == 24std
// 43200 == 12std
$datumdatei = $datumdatei + 86400;

// vergleich findet unterhalb statt
if ($datumdatei < $datumheute)

{
include('http://www.domain.tld/ordner/upgrade/cleanup2.php'); // auszufuehrende datei
// hier wird die dummydatei kurz ueberschrieben, damit das erstellungsdatum geaendert wird

if(file_exists($dateiname)){
$dh=fopen($dateiname, "w");
$daten="mpdl_cleanup wurde zuletzt ausgefuehrt am:".date("d.m.Y - H:i:s")."\n";
$erfolg=fwrite($dh, $daten);
fclose($dh);
}
// benachrichtigungs eMail an webmaster, das der cronjob ausgefuehrt wurde

$host =getenv("$REMOTE_HOST");
mail("webmaster@traumatic.de", "CRONJOB wurde AUSGEFUEHRT", "Da war einer von $host", "mit der IP-Adresse" .getenv("REMOTE_ADDR"));
}

?>

-----------------------------------

dieses script kann natuerlich nach belieben erweitert werden ...


Ist zwar nicht das gelbe vom Ei, aber es funktioniert wunderbar.

Einige nachteile hat diese sache:

- die dummy datei muss schon nachts zu dem zeitpunkt hochgeladen werden, wo dann auch spaeter immer der cronjob ausgefuehrt werden soll.
- Wenn ihr nachts nicht genug besucher habt, koennt ihr dieses script vergessen - da es ja nur durch den aufruf der seite "aktiviert" werden kann....




was iat davon zu halten!? wenn es für vBulletin geht müsste es noch umgeschrieben werden!

Morpheus84
30.05.2003, 21:03
jail: crontab: command not found


Aber Cronjobs habe ich (50Stück) und SSH Zugang auch.

pogo
30.05.2003, 23:18
Dann hilft nur eine Frage bei deinem Hoster, der dir gerne helfen sollte.

MrNase
10.06.2003, 19:48
Original geschrieben von Morpheus84
jail: crontab: command not found


Aber Cronjobs habe ich (50Stück) und SSH Zugang auch.

Morpheus? Hast du den Fehler gefunden? Ich hab bei mir ungefähr das gleiche... Bei mir kommt
bash: cronedit: command not found

crontab -l geht aber :)

Morpheus84
10.06.2003, 20:52
Die haben mir gesat, man kann nur cronjobs über deren web interface einrichten und verwalten...

Morpheus84
10.06.2003, 20:59
Das Teil, um Cronjobs einzurichten sieht folgendermaßen aus.


im ssh habe ich mal "help" eingegeben, dann kam dies:


GNU bash, version 2.05a.0(1)-release (i686-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.

A star (*) next to a name means that the command is disabled.

%[DIGITS | WORD] [&] . filename
: [ arg... ]
alias [-p] [name[=value] ... ] bg [job_spec]
bind [-lpvsPVS] [-m keymap] [-f fi break [n]
builtin [shell-builtin [arg ...]] case WORD in [PATTERN [| PATTERN].
cd [-PL] [dir] command [-pVv] command [arg ...]
compgen [-abcdefgjksvu] [-o option complete [-abcdefgjkvu] [-pr] [-o
continue [n] declare [-afFrxi] [-p] name[=value
dirs [-clpv] [+N] [-N] disown [-h] [-ar] [jobspec ...]
echo [-neE] [arg ...] enable [-pnds] [-a] [-f filename]
eval [arg ...] exec [-cl] [-a name] file [redirec
exit [n] export [-nf] [name ...] or export
false fc [-e ename] [-nlr] [first] [last
fg [job_spec] for NAME [in WORDS ... ;] do COMMA
function NAME { COMMANDS ; } or NA getopts optstring name [arg]
hash [-r] [-p pathname] [-t] [name help [-s] [pattern ...]
history [-c] [-d offset] [n] or hi if COMMANDS; then COMMANDS; [ elif
jobs [-lnprs] [jobspec ...] or job kill [-s sigspec | -n signum | -si
let arg [arg ...] local name[=value] ...
logout popd [+N | -N] [-n]
printf format [arguments] pushd [dir | +N | -N] [-n]
pwd [-PL] read [-ers] [-t timeout] [-p promp
readonly [-anf] [name ...] or read return [n]
select NAME [in WORDS ... ;] do CO set [--abefhkmnptuvxBCHP] [-o opti
shift [n] shopt [-pqsu] [-o long-option] opt
source filename suspend [-f]
test [expr] time [-p] PIPELINE
times trap [arg] [signal_spec ...] or tr
true type [-apt] name [name ...]
typeset [-afFrxi] [-p] name[=value ulimit [-SHacdflmnpstuv] [limit]
umask [-p] [-S] [mode] unalias [-a] [name ...]
unset [-f] [-v] [name ...] until COMMANDS; do COMMANDS; done
variables - Some variable names an wait [n]
while COMMANDS; do COMMANDS; done { COMMANDS ; }

mr.warp
10.06.2003, 21:08
erstellen von jobs

crontab -e

wenn die crontab noch nicht vorhanden ist wird sie automatisch erstellt.

Morpheus84
10.06.2003, 21:10
Original geschrieben von mr.warp
erstellen von jobs

crontab -e

wenn die crontab noch nicht vorhanden ist wird sie automatisch erstellt.

geht doch net


Original geschrieben von Morpheus84
jail: crontab: command not found


Aber Cronjobs habe ich (50Stück) und SSH Zugang auch.

MrNase
11.06.2003, 20:29
Bei mir musste ich:

crontab -e
i
*/5 * * * * /root/confixx/confixx_counterscript.pl
"ESC-Taste"
:wq

und dann war er drin :)

Nur, wie kann ich den wieder ändern?
crontab -r löscht alle, aber wenn ich nur einen ändern will?! :confused:

Znaper
11.06.2003, 20:37
Original geschrieben von MrNase
Bei mir musste ich:

crontab -e
i
*/5 * * * * /root/confixx/confixx_counterscript.pl
"ESC-Taste"
:wq

und dann war er drin :)

Nur, wie kann ich den wieder ändern?
crontab -r löscht alle, aber wenn ich nur einen ändern will?! :confused:


Um nur einen zu ändern melde Dich mit dem User an, für dem der Cronjob erstellt wurde und gib auf der Shell crontab -e ein, dann erscheinen alle crons des Users im Editor.
Einfach die gewünschte Zeile löschen und somit ist er weg! ;)


mfg Znaper

MrNase
11.06.2003, 20:50
ja ok, werd ich mal machen! Danke :)


Ich hab Putty für den SSH-Zugang, gibbet da noch was anderes?
Putty hängt ziemlich und brauch ca. 2 Sekunden bist ein Buchstabe erscheint... Beim editieren brauch er sogar 20 Sekunden bis ein Zeichen ersetzt ist... Oder liegt es am Server und Putty ist unschuldig?

Znaper
11.06.2003, 21:27
Original geschrieben von MrNase
ja ok, werd ich mal machen! Danke :)


Ich hab Putty für den SSH-Zugang, gibbet da noch was anderes?
Putty hängt ziemlich und brauch ca. 2 Sekunden bist ein Buchstabe erscheint... Beim editieren brauch er sogar 20 Sekunden bis ein Zeichen ersetzt ist... Oder liegt es am Server und Putty ist unschuldig?


Das liegt wohl eher an Deinem Server oder Deiner Connection, ich verwende selbst nur Putty und möchte es nicht missen.


mfg Znaper

MrNase
12.06.2003, 06:23
Oh man, ja ich weiß es wird Zeit für DSL... Oder ich gucke mal in die Einstellungen, vielleicht kann ich was rauskitzeln :)

Putty kannte ich nicht, vorgestern das erste mal von SSH gehört :D

thakikka
25.02.2004, 07:11
Original geschrieben von scotty
exklusiv server puretec?

meine crontab (in shell "crontab -l" eingeben) sieht so aus:

[...]

So ähnlich schaut meine auch aus. Nur wird bei mir auch nur die eine DB vom Forum per cronjob automatisch nachts gesichert. Ich will aber nun gerne alle Datenbanken (insgesamt 5) sichern und in ein und das selbe gZip-Archiv packen lassen.

Wie stelle ich das an?

2580
11.05.2004, 11:55
Ich wüsste mal ganz gerne wie ich eine Solche Grafik erstellen kann ?!
wär schon nicht schlehcht zu wissen wie leer mein Board ist :o)

Gandalf2003
11.05.2004, 17:06
Ich wüsste mal ganz gerne wie ich eine Solche Grafik erstellen kann ?!
wär schon nicht schlehcht zu wissen wie leer mein Board ist :o)
was für eine grafik?

2580
11.05.2004, 20:09
solch ein automatisch generiertes img file

http://www.smokers-board.de/board/images/signatur/signatur.jpg (http://www.smokers-board.de/)



Das meine ich.

Gandalf2003
11.05.2004, 20:50
solch ein automatisch generiertes img file

http://www.smokers-board.de/board/images/signatur/signatur.jpg (http://www.smokers-board.de/)



Das meine ich.
ist der signatur banner hack! zu finden im hack forum:)

2580
13.05.2004, 01:29
Danke dir habe das mal eben gemacht und getestet.
So sieht das dann nun aus.
http://forum.liquidbeats.de/sigbanner.php
das da -------------------------------------------------^
sieht schon recht komisch aus :o , alles so leer :eek:
Forum is eh noch nicht Offen für user :p

Danke dir CharlieB.

Gruß Andy

2580
21.07.2004, 18:31
30 3 * * * mysqldump -u<andy> -p<passwort> db<dbname> | gzip > /etc/dump.sql.gz


das habe ich jetzt eingefügt in einen cronjob den ich erstellt habe.

ist das soweit korrekt ?


und das wichtigste, wie kann ich den testen ?


und er soll 4 mal täglich ein backuperstellen, weil ich recht paranoid geworden bin was die hoster und die server angeht.

hatte schon diverse verluste und wills jetzt einfach vermeiden.

am liebsten wär mir jede minute nen backup aber das wird zu serverlastig.



kann mir da jemand helfen ?


4 backups am tag und einmal testen ob es funktioniert.




Danke schonmal


Gruß andy





und wie verhält sich das wenn er grade ein backup erstellt und der vser nippelt in dem moment ab?

ist das backup dann hinüber ?

oder wird da vorher ne temp file angelegt ?



wie läuft das?