Hallo,
hoffe, ihr könnt mir helfen:
Ich hätte drei kleine Aufgaben, bei der ich eure Hilfe bräuchte. Dürfte aber kein großes Problem für euch darstellen (hoffe ich).
1.)
Ich bräuchte einen Skript, der sich per FTP auf einen Server anmeldet und gewisse Verzeichnisse komplett herunterlädt, diese packt und die Datei mit dem aktuellen Datum versieht. Dieser Skript sollte dann per Cronjob aufrufbar sein.
Bsp.:
Serververzeichnisse: /html/Seite1; /html/Seite2; /html/Seite3
Skript lädt diese 3 Ordner herunter, packt sie und erstellt die Dateien: /home/user/Backups/Site1/$Datum.tar; /home/user/Backups/Site2/$Datum.tar; /home/user/Backups/Site3/$Datum.tar
Nettes extra: Wenn möglich, sollte der Skript auto. Dateien, die älter als 6 Wochen sind, löschen.
2.)
Der Skript sollte ein MySQL-Backup des Server's erstellen. Leider habe ich keinen externen Zugriff auf MySQL. Jedoch kann ich auf den Server php-Datein hochladen und natürlich ausführen. Daher wollte ich Fragen, ob einer von euch eine Lösung kennt?
Grundidee: Der PC authentifiziert sich am Server (.htaccess-Schutz), führt den Skript aus, der eine MySQL-Daten zurückgibt und speichert diese.
Nettes extra: Auch hier sollte der Skript auto. Dateien, die älter als 6 Wochen sind, löschen.
3.)
Ein Server im lokalen Netzerk ist immer on. Zusätzlich hab ich noch einen Client PC mit Windows. Auf dem Client sind Dateien Freigegeben (mit Benutzername und Passwort-Schutz)
Der Server soll jetzt, sobald der PC gestartet wird, ein auto. Backup der Dateien machen. Vor allem kann es auch sein, dass der Client währendes des Backups heruntergefahren wird. Auf dem Client kann auch eine Software installiert werden, wenn dies nötig ist.
Hier hab ich leider noch keinen Lösungsansatz gefunden, nur, dass Cronjob und Ping sicherlich nützlich sein wird.
Nettes extra: Wenn möglich, sollten später nur noch veränderte Dateien kopiert werden.
Hintergrundinfo's:
Server:
- Debian Etch
- Im lokalen Netzerk (also nicht im Internet)
- 24h on
Würde mich über Antworten und Vorschläge freuen
MfG
Julian
3 kleine Skript für mich
3 kleine Skript für mich
IOBlogger - mein kleiner privater Blog
Re: 3 kleine Skript für mich
Hast du dich schon mal mit der Shell-Programmierung beschäftigt?
-> sollte damit möglich sein
Zum Löschen von Dateien eines bestimmten Alters, kannst du z.B. find benutzen.
-> sollte damit möglich sein
Zum Löschen von Dateien eines bestimmten Alters, kannst du z.B. find benutzen.
Oh, yeah!
Re: 3 kleine Skript für mich
Für das Problem mit dem FTP-Download empfehle ich dir den Befehl
ncftpget gehört zum Paket http://packages.debian.org/etch/ncftp .
Alternativ kannst du auch das FTP-Verzeichnis mounten mit http://packages.debian.org/etch/curlftpfs .
Code: Alles auswählen
ncftpget
Alternativ kannst du auch das FTP-Verzeichnis mounten mit http://packages.debian.org/etch/curlftpfs .
Re: 3 kleine Skript für mich
Nun ja, leider bin ich wiegesagt ein Newbie zum Thema Linux und kenne mich daher auch kaum mit der Shell-Programmierung aus. Wäre echt gücklich, wenn ihr mir die Skripte proggen könnt, sodass ich sie nur abschreiben zu brauche.
Hatte mich schon öfters versucht, hat aber leider alles nicht geklappt.
Hatte mich schon öfters versucht, hat aber leider alles nicht geklappt.
IOBlogger - mein kleiner privater Blog
Re: 3 kleine Skript für mich
Das Datenbank-Backup per PHP-Skripten würde ich lassen. Warum?
Die meisten Hoster beschränken die Laufzeit von Skripten. Wenn die DB zu gross wird, dann wird das Backup-Skript einfach abgebrochen.
Die meisten Hoster beschränken die Laufzeit von Skripten. Wenn die DB zu gross wird, dann wird das Backup-Skript einfach abgebrochen.
Re: 3 kleine Skript für mich
installiere dir `mirrordir', damit kannst du ziemlich einfach eine Kopie ziehen. Syntax siehe Manpage.julianw hat geschrieben:1.)
Ich bräuchte einen Skript, der sich per FTP auf einen Server anmeldet und gewisse Verzeichnisse komplett herunterlädt, diese packt und die Datei mit dem aktuellen Datum versieht. Dieser Skript sollte dann per Cronjob aufrufbar sein.
Dann packen:
Code: Alles auswählen
tar -czf /path/to/backup/site1_`date +%F`.tar.gz website-kopie
(Zumindest diese zwei Dinge kannst du dir selbst anlesen!)
Erstelle dir für diese Aufgabe ein separates Script, das ist einfacher.Nettes extra: Wenn möglich, sollte der Skript auto. Dateien, die älter als 6 Wochen sind, löschen.
Als Ansatzpunkte:
- for-Schleife über die Dateien und mit `touch -t' und `expr -ot' arbeiten
- `find' verwenden (vermutlich besser)
Die Idee ist mal gar nicht schlecht.2.)
Der Skript sollte ein MySQL-Backup des Server's erstellen. Leider habe ich keinen externen Zugriff auf MySQL. Jedoch kann ich auf den Server php-Datein hochladen und natürlich ausführen. Daher wollte ich Fragen, ob einer von euch eine Lösung kennt?
Grundidee: Der PC authentifiziert sich am Server (.htaccess-Schutz), führt den Skript aus, der eine MySQL-Daten zurückgibt und speichert diese.
Es gibt dafür bestimmt schon eine Menge fertige Scripte, suche nach einem.
@nepos: Ich meine, man kann die (standardmäßig 30s) Laufzeit für ein Script irgendwie hochsetzen, falls der Hoster es nicht unterbunden hat. Vielleicht war's mit .htaccess-Dateien ... weiß es aber nicht mehr.
In jedem Fall sollte es schon etwas fertiges geben, das auch damit klar kommt.
Der Rest ist ja gleich wie beim Webspace-Backup.
Schreibe ein extra Script, wie oben angedeutet, dann kannst du es (mit unterschiedlichen Paramterübergaben) für beides verwenden.Nettes extra: Auch hier sollte der Skript auto. Dateien, die älter als 6 Wochen sind, löschen.
Dein Client könnte dem Server sagen, wann er online geht (dazu selbst was schreiben). Sonst halt per Ping rausfinden.3.)
Ein Server im lokalen Netzerk ist immer on. Zusätzlich hab ich noch einen Client PC mit Windows. Auf dem Client sind Dateien Freigegeben (mit Benutzername und Passwort-Schutz)
Der Server soll jetzt, sobald der PC gestartet wird, ein auto. Backup der Dateien machen. Vor allem kann es auch sein, dass der Client währendes des Backups heruntergefahren wird. Auf dem Client kann auch eine Software installiert werden, wenn dies nötig ist.
Hier hab ich leider noch keinen Lösungsansatz gefunden, nur, dass Cronjob und Ping sicherlich nützlich sein wird.
Wenn der Client runterfährt und somit das Backup abbricht, hast du halt von dem Tag keines ... ist ja sowieso nicht anders möglich.
Vermutlich willst du aber nicht _jedes_ Mal, wenn dein Rechner einschaltet, backupen.
Ich schlage vor, ein normales Backup-Programm auf dem Client laufen zu lassen (Windows kann sowas ja auch schedulen). Und die erstellte komprimierte Datei dann rüberzukopieren.
Fertige Lösunge wirst du von uns eher nicht kriegen, aber Anregungen und Ansatzpunkte. Wenn du nun darauf aufbaust und versuchst etwas zu erstellen, dann helfen wir aber gerne falls später Probleme und Fragen auftauchen.Nettes extra: Wenn möglich, sollten später nur noch veränderte Dateien kopiert werden.Sowas können die Programme normalerweise. Es gibt bestimmt was freies (oder zumindest kostenloses) für Windows, das das kann.
Würde mich über Antworten und Vorschläge freuen
Use ed once in a while!
Re: 3 kleine Skript für mich
Die Lösung zum Löschen von 6 Wochen alten files und älter, könnte mit find vielleicht so aussehen:
Code: Alles auswählen
find /pfad/zum/Verzeichnis -name "*.auto" -a -mtime +42 -exec rm {} \;
Oh, yeah!