cool das geht wirklich nur das er mir nun immer sagt shutdown the name is undefinied! sorry das ich jetzt erst schreib lag ne Woche mit Grippe im Bett und da hat ich echt keine Lust zu Programmieren +grins+
cool das geht wirklich nur das er mir nun immer sagt shutdown the name is undefinied! sorry das ich jetzt erst schreib lag ne Woche mit Grippe im Bett und da hat ich echt keine Lust zu Programmieren +grins+
ah hab meinen fehler gefunden durch falsches einrücken vielen dank für eure hilfe
kann ich noch sowas einbauen wie.... alle 30 tage sicherung ^^ das wär dann optimalste arbeit für mich gewesen.
Nur kurz, weil ich es grad eilig habe: Du kannst einen Cronjob anlegen, man crontab hilft dir da weiter.
cool danke John =)
ich hab nun gelesen das cronjob ja ein dämon ist,
aber so in das Script kann ich das nicht implementieren oder?
Cronjobs werden periodisch nach Regeln aufgerufen - du kannst jedes Programm über einen Cronjob starten.
Du kannst das Skript einfach in /etc/cron.monthly/ kopieren, es muss ausführbar sein (chmod +x <pfad>) und als erste Zeile die korrekte Shebang-Zeile enthalten:
Sollte es das Verzeichnis /etc/cron.monthly nicht geben, musst du folgende Zeile in /etc/crontab eintragen:Code:#!/usr/bin/env python
Das Skript wird dann am ersten jeden Monats aufgerufen.Code:* * 1 * * root <pfad>
Geändert von John W (21-09-2010 um 16:50 Uhr) Grund: Benutzerangabe vergessen
hey ^^ danke für die idee john aber mein chef ist damit nicht zufrieden
der meint ich muss unbedingt das implementieren x.x
DEN Chef möcht ich ja gleich mal köpfen. Cron ist extra für sowas geschrieben worden.
Lass mich raten: Schlipsträger?
In dem Fall halt ihm mal folgendes Beispiel vor: Das Skript stürzt aus unerwarteten Begebenheiten ab oder jemand beendet es unvorsichtigerweise. Die Sicherung bleibt aus, im Zweifelsfall sind Daten weg, das Programm also dadurch sinnlos.
Jetzt das ganze mit Cron: Da kann man sich eine E-Mail schicken lassen, wenn das Skript fehlerhaft beendet (Code unten), zudem wird die Sicherung unabhängig davon durchgeführt, ob das Skript irgendwann mal von Hand gestartet wurde - und zwar jeden Monat.
Damit Cron seinen Job nicht mehr erledigt, muss man die Crontab abändern oder cron beenden - das braucht root-Rechte, dass macht mit Sicherheit kein Volldepp der von nix ne Ahnung hat.
Zudem wird das Skript auch später ausgeführt, wenn der Rechner am 1. nicht eingeschaltet war, sofern anacron installiert ist; anacron überprüft nämlich, ob ein Cronjob zu gegebenen Zeitpunkt ausgeführt wurde - ist das nicht der Fall, wird das nachgeholt.
Wenn dein Chef Admin ist, würde ich seine Argumentation dazu gerne hören.
Hier noch der Crontab-Eintrag für E-Mail-Versand bei Fehlern:
Code:* * 1 * * root <pfad> || date +"Skript fehlgeschlagen am %d.%m.%y um %H:%M:%S" | mail -s ERROR admin@host.de
joa ich werd dem nix dazu geigen vll kann ich sowas wie cronjob ja nachbauen und in ein extra-skript packen x.x.
aber danke für die infos
aber mir is inzwischen eine Idee eingefallen .
ich nehm die strftime her und die localtime damit ich weis okay es ist das un das Datum und wenn dann das Datum mit dem 1. des Monats passt dann könnt ichs doch ausführen lassen oder is die Idee blöd?
hab schon bissl angefangen und versuche rumzuexperimentieren hihi ^^
danke für eure Hilfe und Tipps
eure kleine bluecrystal21 ^^
also^^ mein jetziger Stand is gerade:
das sieht so aus ich will ja die datei öffnen und ausführen das problem is so wie ichs öffnen will mags mich einfach net lol^^Code:#!/bin/bash #!/bin/sh #! /usr/bin/env python import time import os from time import * lt = localtime() d1=strftime("%d", lt) datum= '22' if d1 == datum : print 'Sicherung wird gestartet' externesProgramm = "Sicherung.py" os.system(externesProgramm) else: print 'Fehler'
Fehlermeldung:
linux-y8or:/mnt/Freigaben/00-16-17-15-56-61 # python datei.py
Sicherung wird gestartet
sh: Sicherung.py: Kommando nicht gefunden.
einer vll ne Idee was ich falsch gemacht hab
Der Pfad muss absolut angegeben sein (z.B. /home/benutzer/bin/Sicherung.py).
Noch einfacher wäre folgendes Bash-Skript:
Das muss dann halt nur einmal täglich aufgerufen werden, das ginge z.B. so:Code:[[ "$(date +%d)" == "01" ]] && /home/benutzer/bin/Sicherung.py
Es wird damit jede Stunde geprüft, ob heute der erste des Monats ist, sofern sich das Datum geändert hat. Wenn das Backup erfolgreich ist, wird das letzte Ausführungsdatum auf heute gesetzt und ein Logstatus geschrieben (braucht root-Rechte, Datei /var/log/backup.log kann aber geändert werden).Code:LAST="" while : do NEWLAST="$(date +%D)" if [ "$NEWLAST" != "$LAST" -a "$(date +%d)" == "01" ] then /home/benutzer/bin/Sicherung.py && LAST="$NEWLAST" && date +"Backup um %d.%m.%Y um %H:%M erfolgreich abgeschlossen." >> /var/log/backup.log fi sleep 1h done
jetz hab ichs geschafft hehe hab mit execfile('/pfad zur Sicherung.py') gemacht aber nun muss ich die Dateien die neu dazu kommen Sichern und nur die die alten werden ja bereits gesichert
glaubst du os. könnte dafür mein Freund sein?
bin dir echt vieles Dankbar John
Lesezeichen