ClocxHD
Lt. Junior Grade
- Registriert
- Aug. 2014
- Beiträge
- 376
Hallo,
ich habe mir ein Backup-Script (Bash) erstellt, das meine Datenbanken sichern, und diese auf einen FTP-Server hochladen soll.
Das Script funktioniert soweit, aber er findet die ZIP-Datei zum hochladen nicht.
Ausgabe beim ausführen des Scripts:
Aber wie das anschließende ls zeigt, sind sowohl Ordner, als auch Datei vorhanden.
Das Script:
Woran liegt das?
LG,
ClocxHD
ich habe mir ein Backup-Script (Bash) erstellt, das meine Datenbanken sichern, und diese auf einen FTP-Server hochladen soll.
Das Script funktioniert soweit, aber er findet die ZIP-Datei zum hochladen nicht.
Ausgabe beim ausführen des Scripts:
Code:
Dumping database: afterlogic
Dumping database: brainstorming
Dumping database: cdndata
Dumping database: eshop
Dumping database: fthielenNEU
Dumping database: mysql
Dumping database: owncloud
Dumping database: prestashop
Dumping database: rainloop
Dumping database: tssub
adding: root/dbs/20160123.afterlogic.sql.gz (stored 0%)
adding: root/dbs/20160123.brainstorming.sql.gz (stored 0%)
adding: root/dbs/20160123.cdndata.sql.gz (stored 0%)
adding: root/dbs/20160123.eshop.sql.gz (stored 0%)
adding: root/dbs/20160123.fthielenNEU.sql.gz (stored 0%)
adding: root/dbs/20160123.mysql.sql.gz (deflated 0%)
adding: root/dbs/20160123.owncloud.sql.gz (stored 0%)
adding: root/dbs/20160123.prestashop.sql.gz (deflated 2%)
adding: root/dbs/20160123.rainloop.sql.gz (stored 0%)
adding: root/dbs/20160123.tssub.sql.gz (stored 0%)
/root/dbs: Datei oder Verzeichnis nicht gefunden
local: Server-20160123.zip: Datei oder Verzeichnis nicht gefunden
[root@heliodev ~]# ls /root/dbs/
Server-20160123.zip
[root@heliodev ~]#
Aber wie das anschließende ls zeigt, sind sowohl Ordner, als auch Datei vorhanden.
Das Script:
Code:
DBUSER="benutzer"
DBPASSWORD="passwort"
OUTPUT="/root/dbs"
NAME="Server"
#FTP
FTPHOST="host"
FTPUSER="benutzer"
FTPPASSWD="passwort"
#FILE="$OUTPUT/$NAME-`date +%Y%m%d`.zip"
#FILE="/root/dbs/Server-20160123.zip"
FILE="$NAME-`date +%Y%m%d`.zip"
rm "$OUTPUT/*gz" > /dev/null 2>&1
databases=`mysql --user=$DBUSER --password=$DBPASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
if [ ! -d "$OUTPUT" ]; then
echo ""
echo "Erstelle Verzeichnis $OUTPUT"
echo ""
mkdir -p $OUTPUT;
fi;
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != _* ]] && [[ "$db" != "performance_schema" ]] ; then
echo "Dumping database: $db"
mysqldump --force --opt --user=$USER --password=$DBPASSWORD --databases $db > $OUTPUT/`date +%Y%m%d`.$db.sql
gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
zip -r $OUTPUT/$NAME-`date +%Y%m%d`.zip $OUTPUT/*.gz
rm -rf $OUTPUT/*.gz
ftp -n $FTPHOST <<END_SCRIPT
quote USER $FTPUSER
quote PASS $FTPPASSWD
cd $OUTPUT
put $FILE
quit
END_SCRIPT
exit 0
Woran liegt das?
LG,
ClocxHD