Confixx Backup auf FTP per Cronjob?

phor

Registered User
Gibt es eine einfache Möglichkeit, wie ich die in Confixx 3.3 integrierte Backupfunktion (mit Speicherziel eines externen FTP Servers) per Cronjob auslösen kann?
 
ja
Code:
#!/bin/bash
#########################################################################
#                                                                       #
# Backup von Confixx erstellen                                          #
#                                                                       #
#########################################################################
# Emailadresse für den Absender und Empfänger angeben
email_absender="backup@localserver.de"
email_empfang="deine@mailadresse.de"

rm /backup/datum.txt

vtag=$(date +%u)
rm /backup/dump_$vtag.tgz*
/root/confixx/backup.pl --dump /backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    backup_msg="Fehler bei der Sicherung"
  else
    backup_msg="Sicherung erfolgreich"
  fi
if [ "$vtag" == "1" ]
then

# Sichern des Backups auf einem FTP-Server im Ordner /
# die Zugangsdaten für den FTP-Account liegen in der Datei ftp.cfg:
# host 192.168.1.1
# user test
# password test123456
  /usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz* 2>/dev/null
  if [ "$?" != 0 ]
  then
    ftp_msg="Fehler beim FTP-Transfer"
  else
    ftp_msg="FTP-Transfer erfolgreich"
  fi
fi
#########################################################################
#                                                                       #
# Mail mit Statusmeldung versenden                                      #
#                                                                       #
#########################################################################
text="Backup beendet am `date +"%d.%m.%Y,%H:%M"`"
echo $text > /backup/datum.txt
echo $backup_msg >> /backup/datum.txt
echo $ftp_msg >> /backup/datum.txt
# Versendet eine Mail mit dem Absender backup@localserver.de nach youremail@yourdomain.tld
mail -s"Backup-Info" -r $email_absender $email_empfang < /backup/datum.txt
#########################################################################
#                                                                       #
# folgenden Eintrag in die Datei crontab einfuegen:                     #
#                                                                       #
# crontab -e (einfuegen mit i: speichern mit :wq)                       #
# 00 3  * * * /backup/backup.sh                                         #
# das Backup wird jede Nacht um 3 Uhr gestartet                         #
#########################################################################

- Den Code in einer Datei backup.sh speichern, chmod 700.
- ncftp installieren

alles ohne Gewähr.

mfg 0etzi
 
hallo

bin linux neuling und wollte gerade dieses script ausprobieren.
ich habe dazu noch einige fragen!

zur info: ich habe einen vserver und will ein komplettes automatisches backup aller confixx einstellungen und userdaten (webseiten, mysql) erstellen.
das alles soll auf meinen home ftp server gespeichert werden der mit dyndns erreichbar ist.

ich habe die backup.sh in /root/backup gelegt
dann habe ich mit crontab -e das eingefügt
Code:
00 3  * * * /backup/backup.sh
chmod 700

ich habe dann ncftp2 installiert

im script steht ich soll die ftp hier eintragen!
Code:
# die Zugangsdaten für den FTP-Account liegen in der Datei ftp.cfg:
wo finde ich diese datei???
oder bin ich auf dem holzweg?

kann mir jemand helfen?
 
Die Datei liegt auf dem Server wo das backup.sh-Script abläuft und darin stehen die Zugangsdaten von dem FTP-Server auf den das Backup übertragen werden soll, also dein Rechner zu Hause.

Außerdem hast du das Script nach /root/backup/ gepackt. Im Cronjob rufst du aber /backup/backup.sh auf

Vorschlag:
lege das Script nach /root/backup/backup.sh
Cronjob anlegen mit
Code:
00 3  * * * /root/backup/backup.sh
und im backup.sh die Zeile
Code:
/usr/bin/ncftpput -f /backup/ftp.cfg / /backup/dump_$vtag.tgz* 2>/dev/null
durch
Code:
/usr/bin/ncftpput -f /root/backup/ftp.cfg / /backup/dump_$vtag.tgz* 2>/dev/null
ersetzen.
 
hi

dabei kommt das dann raus wenn ich backup.sh starte

Code:
vserver1606:~# /root/backup/backup.sh
rm: Entfernen von »/backup/datum.txt« nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von »/backup/dump_4.tgz*« nicht möglich: Datei oder Verzeichnis nicht gefunden
/root/backup/backup.sh: line 44: /backup/datum.txt: Datei oder Verzeichnis nicht gefunden
/root/backup/backup.sh: line 45: /backup/datum.txt: Datei oder Verzeichnis nicht gefunden
/root/backup/backup.sh: line 46: /backup/datum.txt: Datei oder Verzeichnis nicht gefunden
/root/backup/backup.sh: line 48: /backup/datum.txt: Datei oder Verzeichnis nicht gefunden

sehe gerade das da der pfad angepasst werden muss. kleinen moment ich probiere es gleich


also dann kommt das
Code:
vserver1606:~# /root/backup/backup.sh
rm: Entfernen von »/backup/dump_4.tgz*« nicht möglich: Datei oder Verzeichnis nicht gefunden
mail: invalid option -- r
usage: mail [-eIinv] [-a header] [-b bcc-addr] [-c cc-addr] [-s subject]
            to-addr [...] [-- sendmail-options [...]]
       mail [-eIiNnv] -f [name]
       mail [-eIiNnv] [-u user]

habe die restlichen pfade auch mal in /root/backup/... geändert aber keine änderung

irgendetwas scheint auch mit der mail funktion nicht zu stimmen oder?

gruss
 
Last edited by a moderator:
kleines update:

wenn ich backup.sh manuell ausführe funktioniert das backup zumindestens lokal. der cronjob arbeitet jedoch nicht eigenständig :confused:

das ist mein code:

Code:
#!/bin/bash
#########################################################################
#                                                                       #
# Backup von Confixx erstellen                                          #
#                                                                       #
#########################################################################
# Emailadresse für den Absender und Empfänger angeben
email_absender="xxx@xxx.de"
email_empfang="xxx@xxxde"

rm /root/backup/datum.txt

vtag=$(date +%u)
rm /root/backup/dump_$vtag.tgz*
/root/confixx/backup.pl --dump /root/backup/dump_$vtag.tgz 2>/dev/null
  if [ "$?" != 0 ]
  then
    backup_msg="Fehler bei der Sicherung"
  else
    backup_msg="Sicherung erfolgreich"
  fi
if [ "$vtag" == "1" ]
then

# Sichern des Backups auf einem FTP-Server im Ordner /
# die Zugangsdaten für den FTP-Account liegen in der Datei ftp.cfg:
 host ftp://xxx@xxx.net/Backup
 user xxx
 password xxx
  /usr/bin/ncftpput -f /root/backup/ftp.cfg / /root/backup/dump_$vtag.tgz* 2>/dev/null
  if [ "$?" != 0 ]
  then
    ftp_msg="Fehler beim FTP-Transfer"
  else
    ftp_msg="FTP-Transfer erfolgreich"
  fi
fi
#########################################################################
#                                                                       #
# Mail mit Statusmeldung versenden                                      #
#                                                                       #
#########################################################################
text="Backup beendet am `date +"%d.%m.%Y,%H:%M"`"
echo $text > /root/backup/datum.txt
echo $backup_msg >> /root/backup/datum.txt
echo $ftp_msg >> /root/backup/datum.txt
# Versendet eine Mail mit dem Absender backup@localserver.de nach youremail@yourdomain.tld
mail -s"Backup-Info" -r $email_absender $email_empfang < /root/backup/datum.txt
#########################################################################
#                                                                       #
# folgenden Eintrag in die Datei crontab einfuegen:                     #
#                                                                       #
# crontab -e (einfuegen mit i: speichern mit :wq)                       #
# 00 3  * * * /backup/backup.sh                                         #
# das Backup wird jede Nacht um 3 Uhr gestartet                         #
#########################################################################

in cotrab -e habe ich das zum testen eigefügt:

Code:
10 0  * * * /root/backup/backup.sh

das müsste ja 00:10 uhr sein ich habe den server vorher auch mal neu gestartet weil ich nicht weiss ob es sonst funktioniert!?! mit

Code:
10 00  * * * /root/backup/backup.sh

ging es auch nicht

die übertragung per ftp ging auch nicht.
fehlt mir da vielleicht noch etwas für die ftp übertragung ?
warum startet der cronjob nicht?

bin alsanfänger dankbar für jede hilfe :rolleyes:

mein system: debian etch + confixx 3.3.3

achso die email funktion geht auch noch nicht. das kommt in putty

Code:
mail: invalid option -- r
usage: mail [-eIinv] [-a header] [-b bcc-addr] [-c cc-addr] [-s subject]
            to-addr [...] [-- sendmail-options [...]]
       mail [-eIiNnv] -f [name]
       mail [-eIiNnv] [-u user]
 
Last edited by a moderator:
Hallo

Ich bekomme das Script leider nicht zum laufen.
Wo und wie muss ich denn die FTP Daten eintragen?

Danke schonmal

Warum gibt es eigentlich keine Backup Funktion direkt in Confixx so wie es die Endkunden haben???
 
Last edited by a moderator:
für die ftp-Daten musst du eine Datei erstellen und diese in ftp.cfg benennen und im gleichen Verzeichnis speichern.

folgende 3 Zeilen in die ftp.cfg schreiben und mit deinen Daten ersetzen:

host deinhost.de
user deinloginname
password deinpasswort

Wenn das Backup aber schon nicht funktioniert, dann brauchst du dich um diese Datei erst mal nicht zu kümmern.

Confixx bringt doch eine eigene Backup-funktion mit. Genau die, welche das Script verwendet.
Das Script hier ist nur dazu da, die "Confixx-Eigene-Backup-Funktion" zu automatisieren.

Es gibt sicher noch einige andere Möglichkeiten, das ist halt mal eine, bei mir läuft diese einwandfrei.

Gehe noch mal der Reihe nach und nach der Anleitung vor. Erstelle die Datei backup.sh und den cronjob. Wenn das funktioniert, dann nur noch die ftp.cfg, fertig.

Wenn es nicht funktioniert, kannst du dich auch per PM melden.

mfg 0etzi
 
Bei mir folgt auch.


Code:
s239:/backup# ./backup.sh
mail: invalid option -- r
usage: mail [-eIinv] [-a header] [-b bcc-addr] [-c cc-addr] [-s subject] to-addr ...
            [-- sendmail-options ...]
       mail [-eIiNnv] -f [name]
       mail [-eIiNnv] [-u user]

Backup wird erstellt jedoch nicht auf dem FTP abgelegt. ftp.cfg wurde aber in gleichen Ordner erstellt.

Gruß
 
Back
Top