ncftpput files uploaden

R

ReduX08

Foren As
Tag,
Ich habe gerade ein Backup Script gebaut, das einzige was mir noch fehlt ist die 3 gepackten Archive per FTP auf den Backup Server zu laden.

Dazu würde ich gerne ncftpput benutzen.
Aber so ganz kapier ich das jetzt nicht, ich nutze ncftpput bis jetzt so:
ncftpput -u USERNAME -p PASSWORD SERVER /LOCALERORDNER/ /BACKUPORDNER/

Aber ich will nicht den Ordner sondern nur drei darrin befindliche Archive hochladen, wie mache ich das? Aus der Doku bin ich nicht sonderlich schlau geworden.

MFG ReduX08
 
aber er will doch eben garkeine verzeichnisse hochladen
 
aus der o.a. manpage

Code:
A neat way to pipe the output from any local command into a remote file 
is to use the -c option, which denotes that you're using stdin as input. 
The following example shows how to make a backup and 
store it on a remote machine:
    $ tar cf - / | ncftpput -c sonic.sega.co.jp /usr/local/backup.tar

also für dich:
Code:
$ tar cf - $PATH/*.backup | ncftpput -c dein_server /verzeichnis/backup
und dann, falls gewünscht wieder auspacken.
 
Zuletzt bearbeitet:
Hi,
Irgendwie funktioniert das nicht ganz, es kommt zwar keine Fehlermeldung, aber es wird auch nichts hochgeladen:
Code:
tar cjfp log-$DATE.tar.bz2 log | ncftpput -u $FTP_USER -p $FTP_PASS -c $FTP_SERVER /backup
tar cjfp ts2-$DATE.tar.bz2 teamspeak | ncftpput -u $FTP_USER -p $FTP_PASS -c $FTP_SERVER /backup
tar cjfp mysql-$DATE.tar.bz2 mysql | ncftpput -u $FTP_USER -p $FTP_PASS -c $FTP_SERVER /backup
log,teamspeak und mysql sind jeweils ein verzeichnis das er packt.
So müsste es doch korrekt sein oder?

MFG ReduX08
 
Nein, so ist es nicht korrekt.

Du mußt die Dateien auf STDOUT ( das ist der "-" ) tar'en und durch die pipe an ncftpput schicken.

Und wieso sind es jetzt auf einmal Verzeichnisse, wo du doch explizit Dateien übertragen wolltest?
 
Zuletzt bearbeitet:
Hi,
Also die Verzeichnisse sollen zu einem Archiv gepackt werden und dann auf den Backup Server geladen werden.

Aber Danke für die Hilfe es läuft nun mit:
Code:
tar cjfp - Verzeichnis | ncftpput -u $FTP_USER -p $FTP_PASS -c $FTP_SERVER /backup/MEINARCHIV.tar.bz2

MFG ReduX08
 
Und wenn du bei tar die Option f weglässt, wird nach STDOUT geschrieben - was dann in der pipe landet.
 
Und wenn du bei tar die Option f weglässt, wird nach STDOUT geschrieben - was dann in der pipe landet.

Objection your honor, ;-)

Auch mit Option "f" wird bei Angabe des STDOUT als Ziel auf STDOUT geschrieben. Der Schalter ist in diesem Fall "nur" optional, will ich meinen.
 
Hallo Leute

Ich habe hier ein Script das ich einfach nicht zum laufen bekomme.

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                         #
#########################################################################

Das Backup funktioniert wenn ich das Script aufrufe jedoch nur Lokal. Es stellt keine Verbindung zu meinem FTP Server her.
Kann mir vielleicht jemand einen Tipp geben was ich ändern muss?

Danke und Gruss
 

Ähnliche Themen

[HowTo] TeamSpeak 2 - RC2 - Server (Deutsch/Englisch)

Zurück
Oben