Linux Frage Crontab weg!!

Dieses Thema im Forum "Linux" wurde erstellt von meister_sauer, 11 November 2008.

  1. meister_sauer

    meister_sauer Neues Mitglied

    Registriert seit:
    22 Oktober 2008
    Beiträge:
    8
    Hallo Leute!
    Ich hab ein riesiges Problem. Ich wollte via PuTTY die Crontab auf unserem Unix-Server ändern. Leider hab ich statt "crontab -e" dummerweise "crontab -r" eingegeben und jetzt ist diese natürlich leer.

    Ich bin nicht so der Linux-Freak und daher würde es Jahrejahrepopare dauern, die crontab neu zu schreiben.
    Nun die Frage: Gibt es einen weg, einen solchen Befehl rückgängig zu machen? Oder gibt es irgendwo ein Backup der alten crontab? Wir haben auch leider keinen rootserver, daher komme ich nicht auf das /var/cron/ verzeichnis drauf. Unser Provider meinte, daß unsere Crontab auch leer ist...

    Ich hab das Terminalfenster noch offen, mit dem ich den bösen Befehl eingegeben hab (falls das überhaupt was bringen sollte...). Ich hatte sie nämlich vorher schonmal (im richtigen Zustand) mit VI offen. Bringt mir das was? Gibt es eine Art VI-History oder so? Dann könnte ich doch bestimmt diese da rauskopieren und eine neue Crontab damit erstellen oder? *linux-dumm-guck*

    Mein Chef reißt mir den Kopf ab, also bitte ich um Lebensrettung ;)

    Sauer
  2. iwier

    iwier Team (inaktiv)

    Registriert seit:
    25 Juli 2008
    Beiträge:
    1.216
    AW: Crontab weg!!

    Hallo,

    schaue mal nach, ob in /usr/bin oder in /etc die crontab noch vorhanden ist.

    Gruß

    iwier

    EDIT: Falls du gar nichts mehr hast, musst du dir mühsam aus /var/log/messages die einzelnen cron-Aufrufe wieder heraussuchen,
    dort stehen sie nämlich drin.
  3. meister_sauer

    meister_sauer Neues Mitglied

    Registriert seit:
    22 Oktober 2008
    Beiträge:
    8
    AW: Crontab weg!!

    Danke für die schnelle Antowort! Ich hab in dem Verzeichnis nachgesehen und da liegt halt das Programm "crontab" (als Binary) an sich. Hilft mir das was? Wie gesagt, meine Linuxkenntnisse sind relativ beschränkt, also scheut euch nicht vor "Antworten für Dummies".
  4. iwier

    iwier Team (inaktiv)

    Registriert seit:
    25 Juli 2008
    Beiträge:
    1.216
    AW: Crontab weg!!

    Die crontab in /usr/bin ist das Programm, welches die crontab-Einträge in /etc oder /var/spool/cron/crontabs nur ausführt, wie du richtig erkannt hast.

    Eine automatische Sicherungskopie der crontab gibt es leider nicht.

    Falls du keine Systemsicherung hast, aus der du die crontab zurückholen kannst, geht ja auch file-weise, bleibt dir nur die Möglichkeit mit der messages Datei.

    Dafür brauchst du aber schon die entsprechenden Kenntnisse, um daraus wieder die entsprechenden crontab-Einträge zu rekonstruieren.

    Eine Sicherung, aus der du nur die crontab zurückkopierst, wäre sehr viel vorteilhafter.

    EDIT: Da es kein root-Server ist, hast du "nur" die user-bezogene crontab gelöscht, was natürlich schon schlimm genug ist.

    Hast du/habt ihr denn keine Sicherung von euren Daten?

    Gruß

    iwier
  5. meister_sauer

    meister_sauer Neues Mitglied

    Registriert seit:
    22 Oktober 2008
    Beiträge:
    8
    AW: Crontab weg!!

    Also so wie ich das verstanden habe, wird von unserem Provider nur das "~" (User-) Verzeichnis täglich gebackupt. Aber die crontabeinträge liegen ja soweit ich weiß im überhalb des ~/

    Hab auch vorhin Einträge im /var/spool/cron gefunden, auf die ich aber leider nicht zugreifen darf. Hab jetzt nochmal beim Provider nachgefragt. Wenn die da irgendwas rekonstruieren können, sagen die mir bescheid.

    Aber danke schonmal für eure (deine) Mühe!

    Sauer
  6. ibinsfei

    ibinsfei Team (Technik) Mitarbeiter

    Registriert seit:
    12 August 2001
    Beiträge:
    6.289
    AW: Crontab weg!!

    Ich würde mal behaupten, dass deine crontab futsch ist. Dass du Einträge in /var/spool/cron siehst, finde ich merkwürdig und es wirft kein gutes Licht auf deinen Provider. Eigentlich sollte es so aussehen:
    Code:
    ~> ll -d /var/spool/cron/
    drwx------ 4 root root 4096 31. Dez 2007  /var/spool/cron/
    ~> ll /var/spool/cron/
    ls: Öffnen von Verzeichnis /var/spool/cron/ nicht möglich: Keine Berechtigung
    
    Du solltest mal bei dem Provider nachfragen, ob sie Sicherungen von dem kompletten Server haben, dann können sie deine crontab wiederherstellen. Ein halbswegs ordentlicher Provider hat solche Sicherungen. Die crontab per syslog wiederherzustellen ist möglich, aber dies kann (normalerweise) nur der Provider und das erfordert einige Arbeit, da die Zeiteinstellungen in der crontab nicht aus dem syslog ersichtlich sind. Diese müsste man dann aus den syslog-Einträgen errechnen. Du kannst ja mal deinen Provider bitten folgenden Aufruf zu machen und dir das Log zu schicken:
    Code:
    fgrep -i cron /var/log/messages|fgrep "(deinusername)"
    
    Der Output sollte dann in etwa so aussehen:
    Code:
    Nov  9 09:00:00 gandalf /USR/SBIN/CRON[13001]: (deinusername) CMD (/home/deinusername/getft)
    Nov  9 12:00:00 gandalf /USR/SBIN/CRON[16860]: (deinusername) CMD (/home/deinusername/getft)
    Nov  9 15:00:00 gandalf /USR/SBIN/CRON[20704]: (deinusername) CMD (/home/deinusername/getft)
    Nov  9 18:00:00 gandalf /USR/SBIN/CRON[24559]: (deinusername) CMD (/home/deinusername/getft)
    Nov  9 21:00:00 gandalf /USR/SBIN/CRON[28426]: (deinusername) CMD (/home/deinusername/getft)
    Nov  9 23:00:01 gandalf /USR/SBIN/CRON[30999]: (deinusername) CMD (/home/deinusername/getft)
    Nov 10 09:00:00 gandalf /USR/SBIN/CRON[12661]: (deinusername) CMD (/home/deinusername/getft)
    Nov 10 12:00:00 gandalf /USR/SBIN/CRON[16583]: (deinusername) CMD (/home/deinusername/getft)
    Nov 10 15:00:00 gandalf /USR/SBIN/CRON[20449]: (deinusername) CMD (/home/deinusername/getft)
    Nov 10 18:00:00 gandalf /USR/SBIN/CRON[24336]: (deinusername) CMD (/home/deinusername/getft)
    Nov 10 21:00:00 gandalf /USR/SBIN/CRON[28215]: (deinusername) CMD (/home/deinusername/getft)
    Nov 10 23:00:00 gandalf /USR/SBIN/CRON[30809]: (deinusername) CMD (/home/deinusername/getft)
    Nov 11 09:00:00 gandalf /USR/SBIN/CRON[11856]: (deinusername) CMD (/home/deinusername/getft)
    Nov 11 12:00:00 gandalf /USR/SBIN/CRON[15945]: (deinusername) CMD (/home/deinusername/getft)
    Nov 11 15:00:00 gandalf /USR/SBIN/CRON[19799]: (deinusername) CMD (/home/deinusername/getft)
    Nov 11 18:00:00 gandalf /USR/SBIN/CRON[23737]: (deinusername) CMD (/home/deinusername/getft)
    Nov 11 21:00:00 gandalf /USR/SBIN/CRON[27785]: (deinusername) CMD (/home/deinusername/getft)
    
    In diesem Fall sieht meine crontab so aus:
    Code:
    0 9,12,15,18,21,23 * * * /home/deinusername/getft
    
    Ganz sicher kann man sich aber nicht sein, den auch eine solche crontab hätte die gleichen logs
    Code:
    0 9,12,15,18,21,23 * * 0-2 /home/deinusername/getft
    
    ibinsfei
  7. meister_sauer

    meister_sauer Neues Mitglied

    Registriert seit:
    22 Oktober 2008
    Beiträge:
    8
    AW: Crontab weg!!

    Du bists fei wirklich! :)
    Das nenn ich mal eine fundierte Aussage... Das mit dem spool/cron-Ordner und den Berechtigungen ist auch so. Ich kann zwar mit "cd /var/spool/cron" in den Ordner wechseln, aber wenn ich da "ls" eingebe, sagt der mit auch "Keine Rechte usw...".

    Ich bin den Admins beim Provider richtig aufs Dach gestiegen, daß die sich doch bitte bemühen sollen und so weiter... Die meinten auch, daß die mir ne Mail schicken, wenn sich was machen lässt. Aber ich hab nix von denen gehört. Ich hab zum Glück noch ein uraltes Crontab-Backup von uns selbst gefunden. Und die Einträge, die da noch gefehlt hatten, hab ich damals eh selbst geschrieben und konnte die so wieder halbwegs rekonstruieren.

    Morgen werd ich sehen, ob alle Cronjobs vernünftig ausgeführt wurden. Und danach werde ich die "R" Taste aus meiner Tastatur brechen, damit ich nie wieder "crontab -r" eingeben KANN.
    (Oder ich schreib mir nen Cronjob wie "0 1 * * 6 crontab -l >> cron_backup.txt"... Mal sehn, was auf Dauer effizienter ist ;) )

    Wie dem auch sei: Vielen Dank euch 2! Wenn ich euch mal mit meinen fundierten Unix-Kenntnissen weiterhelfen kann, sagt bescheid (Oder ich bring euch einfach mal ein Bier: :icon_prost: )

    Sauer