Cronjob sichert nicht automatisiert auf FTP

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Kai-Behncke
Beiträge: 183
Registriert: 10.12.2006 13:20:40
Wohnort: Osnabrück

Cronjob sichert nicht automatisiert auf FTP

Beitrag von Kai-Behncke » 14.01.2008 17:51:36

Hallo liebes Forum,

ich habe ein Skript erstellt, um von meinem dezidierten Server auf meinen FTP-Backup-Server zu sichern.
Ich nutze Debian Etch.

Das Skript selbst läuft einwandfrei, wenn ich es manuell ausführe.

Das Skript z.B. so:

Code: Alles auswählen

ncftpput -u ******** -p ********* -DD -d /var/log/ncftpput/debug.txt -e /var/log/ncftpput/error.txt  backup.meinserver.de /kais_tarballs/dateien /home/tarballs/kais_promotionsordner_$DATUM.tar.gz
Allerdings, wenn das als cronjob läuft, dann werden immer nur Dateien ohne Inhalt auf dem FTP-Server angelegt.

Der cronjob sieht so aus:

Code: Alles auswählen

24  17  * * *    root   /etc/init.d/tarball_erstellen.sh
Kann es sein, dass innerhalb eines cronjob bestimmte Operationen nicht ausführen werden dürfen?
Kann es sein, dass der FTP Backup-Server so etwas registriert und blockt?

Danke im Voraus, Kai

sowosammerneger
Beiträge: 17
Registriert: 07.08.2007 13:42:25
Wohnort: Aachen

Beitrag von sowosammerneger » 14.01.2008 17:58:37

Warum kippt man so ein Skript denn in /etc/init.d/ ?
---
liebe grüße
peter

"I believe if I refuse to grow old
I can stay young till I die." (Pippin

Kai-Behncke
Beiträge: 183
Registriert: 10.12.2006 13:20:40
Wohnort: Osnabrück

Beitrag von Kai-Behncke » 15.01.2008 10:16:25

Wieso? Wo soll es denn eigentlich hin?

sowosammerneger
Beiträge: 17
Registriert: 07.08.2007 13:42:25
Wohnort: Aachen

Beitrag von sowosammerneger » 15.01.2008 13:33:55

In /etc/init.d landet alles, was eine der rc.*-verzeichnisse starten kann/will/soll.
Ich kippe selbstgebastelten Kram als ausführbare Datei in /usr/local/bin.

Die auszuführende Datei werfe ich einfach in das passende /etc/cron.wannduwillst
Die Skripte fangen immer mit #!/bin/sh oder wenn es shellspezifisch ist halt mit dem Pfad zur entsprechenden Shell.
Ich meine ich hatte mal Probleme mit einem Anhang .sh am Skriptnamen, wenn ich das in so ein Verzeichnis unter Debian etch werfe - da kann ich mich aber auch täuschen.

Wie sieht denn dein komplettes Skript aus?

Was passiert, wenn Du die Schritte im Skript von Hand ausführst?
---
liebe grüße
peter

"I believe if I refuse to grow old
I can stay young till I die." (Pippin

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 15.01.2008 14:46:00

Wenn du ncftpput schon ein error.log schreiben lässt, was steht denn da so drin?
Und nein, eigentlich macht es keinen Unterschied, ob das nun direkt oder über cron gestartet wird.

Nach init.d gehört sowas auf keinen Fall!

Kai-Behncke
Beiträge: 183
Registriert: 10.12.2006 13:20:40
Wohnort: Osnabrück

Beitrag von Kai-Behncke » 15.01.2008 17:15:31

Hallo, danke für die Hilfe.
Ich habs jetzt rausgefunden.
Ich hatte einen Fehler in der Erstellung des Tarballs, außerdem hatte ich einen relativen Pfad bei ncftpput eingegeben.

Es funktioniert mit folgendem Text:

Code: Alles auswählen


#! /bin/bash


tar -C  /home/tarballs/sql -czf /home/tarballs/christians_sql_$DATUM.tar.gz plass_sql


/usr/bin/ncftpput -u ******* -p********  -d /var/log/ncftpput/debug.txt -e /var/log/ncftpput/error.txt  backup.**********.de /kais_tarballs/dateien /home/tarballs/kais_promotionsordner_$DATUM.tar.gz

Antworten