Cronjob auf dem Managed Server anlegen ?

  • Sorry, wenn ich Euch schon wieder um Hilfe bitten muss - aber auch Stundenlanges lesen & recherchieren brachten mich bis jetzt einfach nicht weiter.


    Habe ja einen Managed Server XL gebucht und will nun für ein paar meiner Applikationen wie zb.der TinyTiny RSS Installation einen Cronjob anlegen der mir die neusten News aller 15min bereit stellt.


    Ok, es ist mein erster Server (aus diesem Grunde auch nur ge-managed) und habe rausgefunden das ich als erstes ein Terminal (hab ja eh ein Kubuntu 8o ) öffnen muss.


    Habe nun folgendes getan...

    • ssh IP meines Server
    • Passwort (das von meinem Admin Plesk Zugang)

    dann erscheint bei mir ein...


    bash-4.2$


    keine Ahnung was oder wie es nun weitergeht. Ge-/ erlesen habe ich, das man nun ein crontab -e eingeben muss, aber wenn ich das mache erscheint bei mir ein...
    bash: crontab: command not found
    Wer bitte ist oder kann so freundlich sein und mir weiterhelfen ?

  • Du kannst mal Folgendes in die Konsole eingeben:

    Code
    1. cd /usr/bin/ && ls -la


    Das sollte Dir deine Verfügbaren Befehle anzeigen bzw. je nach Owner und Group und entsprechende Rechte für Other bzw. Group


    Mir fällt ehrlich gesagt auch gerade keine einfachere Methode ein, um sich anzeigen zulassen, welche Befehle bzw. Programme man ausführen kann (Im Sinne von berechtigt)...

    "Hmm, wo ist denn die Any-Key-Taste? Naja, ich bestell mir erst einmal ein Bier!" - Homer Simpson

  • Noch eine Frage...


    was muss ich denn bei Befehl eingeben, wenn ich z.b. meinen TinyTiny RSS Reader aller 15 min aktualisieren möchte ?


    Folgendes ist bestimmt falsch - gelle ?


    Code
    1. root /usr/local/bin/var/www/vhosts/meine-webseite.website/ttrss.meine-webseite.website/public.php?op=globalUpdateFeeds&daemon=1

  • Wenn Du 'n PHP-Skript aufrufen möchtest, kannst Du das entweder mit /usr/bin/php oder mit wget machen.


    Also als Beispiel:


    Code
    1. */15 * * * * www-data /usr/bin/wget -O - "/usr/local/bin/var/www/vhosts/meine-webseite.website/ttrss.meine-webseite.website/public.php?op=globalUpdateFeeds&daemon=1" >/dev/null 2>&1


    evtl. www-data durch den entsprechenden Webserver-User ändern.


    Solltest Du auf wget keinen Zugriff haben oder das woanders liegen kannst Du in der Konsole mal

    Code
    1. whereis wget

    eingeben oder das eben über php, also

    Code
    1. whereis php

    "Hmm, wo ist denn die Any-Key-Taste? Naja, ich bestell mir erst einmal ein Bier!" - Homer Simpson

  • Sorry, wenn ich nochmal nachfrage (n darf)


    Irgendwie bekomme ich die CronJobs nicht zum laufen.


    Auswahl_001.png


    Ich bekomme bei dem mysqldumper Cron per e-mail immer die Meldung...


    Code
    1. -: perl: command not found


    Über Mysqldumper selbst wird über den Befehl "Perl-Cronscript ausführen" ein Backup erstellt und auch "Perl" selbst funktioniert einwandfrei.


    Auswahl_002.png


    Verstehe ich also nicht, warum dann dieser angelegte Crontab mir sagt, das Perl nicht gefunden wird. :cursing:

  • Wenn Du 'n PHP-Skript aufrufen möchtest, kannst Du das entweder mit /usr/bin/php oder mit wget machen.

    Funktioniert beides nicht....


    Entweder bin ich echt zu "blöd" (was durchaus im Bereich des möglichen liegt 8o ) oder irgendetwas am Server nicht. Werde mich dann wohl mal an den Support wenden, aber die sagen mir bestimmt wieder... "Sorry, aber einen Crashkurs können wir Ihnen nicht geben". :cursing:

  • Ich bekomm da die Meldung...


    Code
    1. bash-4.2$ whereis wget
    2. bash: whereis: command not found
    3. bash-4.2$ whereis php
    4. bash: whereis: command not found
  • Holla die Waldfee, nach vielen Stunden des Lesens, recherchieren, probierens usw. hab ich jetzt für mich eine funktionsfähige Lösung gefunden - keine Ahnung ob das so richtig ist, aber es funktioniert :thumbsup:


    Hier die Lösung für mysqldumper inkl. htaccess Schutz...


    Code
    1. wget http://Benutzername:Passwort@meine-domain.website/mysqldumper/msd_cron/crondump.pl?config=mysqldumper -O /dev/null


    und hier die Lösung für die TinyTiny RSS Installation...


    Code
    1. wget http://meine-domain.website/update.php --feeds --quiet &> /dev/null


    Bis jetzt funktioniert beides ohne Probleme und deswegen möchte ich mich an dieser Stelle für all eure zahlreichen Tipps & Hilfen bedanken <=== DANKESCHÖN :thumbsup:

  • Hi,


    hierzu muss ich erwähnen dass wir auch einen Managed Server verwenden und auch der Support mir nicht weiterhelfen konnte wie ich über PLESK ein funktionierendes Cronjob erstelle welcher eine bestimmte Seite / PHP Script aufruft. Nach öfteren Mailwechsel wurde ich darauf hingewiesen dass dieses "Script Support" sei und kostenpflichtig sei.


    Um das Problem zu umschiffen, habe ich mir einen Account auf http://www.cronjob.de erstellt, hier können kostenlos viele cronjobs erstellt werden.


    Viele Grüße

  • Servus,


    Hatte das selbe Problem! Nach langem Suchen konnte mir der Support helfen!
    Der Fehler liegt wahrscheinlich an deinen ssh Einstellungen. Sollte so wie im Anhang aussehen,
    Dann sollte es funktionieren!


    Vg Fisi

  • Das Problem, dass perl nicht als Cronjob funktioniert, hatte ich auch, allerdings beim Webhosting. Auch da erhielt ich die Fehlermeldung "-: perl: command not found"
    Man kann aber mysqldump nutzen als cronjob zur Erstellung eines Datenbankbackups.


    Der Aufbau wäre dann


    mysqldump -h [IP des Datenbankservers] -u[Datenbanknutzer] -p[Passwort] [Datenbankname] | gzip> backups/[Datenbankname]-backup-`date +\%Y-\%m-\%d-\%H-\%M-\%S`.sql.gz >backups/backups/[Datenbankname]-backup-`date +\%Y-\%m-\%d-\%H-\%M-\%S`.sql.gz


    Zwischen und -u und -p kommt direkt der Nutzer bzw. das Passwort ohne Leerzeichen, das Passwort sollte keine Sonderzeichen enthalten, sonst könnte es zu Fehlern kommen.


    Damit das funktioniert, muß man unter root noch die Ordner backups/backups anlegen. Man kann auch andere Bezeichnungen wählen, dann muß der Pfad im Cronjob aber angepasst werden
    Hiermit erhält man zwei Datein, eine leere im Ordner root/backups/ und eine gzippte im Ordner root/backups/backups. Das mit der leeren Datein ist ein Schönheitsfehler. Vielleicht kann jemand den Cronjob noch verbessern.