- Mitglied seit
- 22. Feb 2017
- Beiträge
- 5
- Punkte für Reaktionen
- 0
- Punkte
- 0
Moin zusammen,
wir sind eine kleine Web-Agentur und benutzen seit kurzem die DS916+ mit 2x8 TB WD Red (SHR Volume).
Wir brauchen Hilfe bei der Konfiguration, so dass automatisiert Backups der FTP Files und Datenbanken von einem Server (liegt bei Domain Factory) direkt auf der DS916+ landet.
Zur Zeit werden mit folgendem Script die Daten auf dem externen Server abgelegt (s.unten).
Kann jemand sagen, wie ich das Script so umschreiben kann, das die Daten automatisiert auf der DS916+ hinterlegt werden?
Natürlich wird das auch entsprechend honoriert.
Danke,
Jan
Das Script:
#!/bin/sh
################################################## ################################################## #############################
## CONFIG *change*
################################################## ################################################## #############################
path_datas=/kunden/AUFTRAGSNUMMER_ID/webseiten
path_backup_files=/kunden/AUFTRAGSNUMMER_ID/backup/files
path_backup_db=/kunden/AUFTRAGSNUMMER_ID/backup/databases
MyUSER_DBlist=("dbAUFTRAGSNUMMER" "dbAUFTRAGSNUMMER_1" "dbAUFTRAGSNUMMER_2")
MyPASSlist=("password1" "password2" "password2")
MyHOST="127.0.0.3"
MAX_BACKUP_FILES=30
################################################## ################################################## #############################
## clear old backup files *not change*
################################################## ################################################## #############################
cd ${path_backup_files}
countfolders=$(ls -1 | wc -l)
clearfolders=$((countfolders-MAX_BACKUP_FILES))
counter=0
if [[ "clearfolders" -gt 0 ]]; then
for folder in *
do
if [[ "$counter" -lt "clearfolders" ]]; then
rm -rf ${path_backup_files}/${folder}
rm -rf ${path_backup_db}/${folder}
else
break
fi
counter=$((counter+1))
done
fi
################################################## ################################################## #############################
## GLOBAL *not change*
################################################## ################################################## #############################
DAT=`date +%Y_%m_%d_%H_%M`
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
TAR="$(which tar)"
GZIP="$(which gzip)"
userLen=${#MyUSER_DBlist[@]}
passLen=${#MyPASSlist[@]}
if [ ${userLen} != ${passLen} ]
then exit
fi
################################################## ################################################## #############################
## Backup Files *not change*
################################################## ################################################## #############################
cd ${path_backup_files}
mkdir backup_${DAT}
cd ${path_datas}
for folder in *
do
${TAR} cfP ${path_backup_files}/backup_${DAT}/${folder}.tar ${path_datas}/${folder}
echo backup "${folder}.tar" complete!
done
################################################## ################################################## #############################
## Backup Database *not change*
################################################## ################################################## #############################
cd ${path_backup_db}
mkdir backup_${DAT}
for (( i=0; i<${userLen}; i++ ));
do
${MYSQLDUMP} -u ${MyUSER_DBlist[$i]} -p${MyPASSlist[$i]} -h ${MyHOST} ${MyUSER_DBlist[$i]} | ${GZIP} -9 > ${path_backup_db}/backup_${DAT}/${MyUSER_DBlist[$i]}.gz
echo backup "${MyUSER_DBlist[$i]}.gz" complete!
done
Zitieren Zitieren
wir sind eine kleine Web-Agentur und benutzen seit kurzem die DS916+ mit 2x8 TB WD Red (SHR Volume).
Wir brauchen Hilfe bei der Konfiguration, so dass automatisiert Backups der FTP Files und Datenbanken von einem Server (liegt bei Domain Factory) direkt auf der DS916+ landet.
Zur Zeit werden mit folgendem Script die Daten auf dem externen Server abgelegt (s.unten).
Kann jemand sagen, wie ich das Script so umschreiben kann, das die Daten automatisiert auf der DS916+ hinterlegt werden?
Natürlich wird das auch entsprechend honoriert.
Danke,
Jan
Das Script:
#!/bin/sh
################################################## ################################################## #############################
## CONFIG *change*
################################################## ################################################## #############################
path_datas=/kunden/AUFTRAGSNUMMER_ID/webseiten
path_backup_files=/kunden/AUFTRAGSNUMMER_ID/backup/files
path_backup_db=/kunden/AUFTRAGSNUMMER_ID/backup/databases
MyUSER_DBlist=("dbAUFTRAGSNUMMER" "dbAUFTRAGSNUMMER_1" "dbAUFTRAGSNUMMER_2")
MyPASSlist=("password1" "password2" "password2")
MyHOST="127.0.0.3"
MAX_BACKUP_FILES=30
################################################## ################################################## #############################
## clear old backup files *not change*
################################################## ################################################## #############################
cd ${path_backup_files}
countfolders=$(ls -1 | wc -l)
clearfolders=$((countfolders-MAX_BACKUP_FILES))
counter=0
if [[ "clearfolders" -gt 0 ]]; then
for folder in *
do
if [[ "$counter" -lt "clearfolders" ]]; then
rm -rf ${path_backup_files}/${folder}
rm -rf ${path_backup_db}/${folder}
else
break
fi
counter=$((counter+1))
done
fi
################################################## ################################################## #############################
## GLOBAL *not change*
################################################## ################################################## #############################
DAT=`date +%Y_%m_%d_%H_%M`
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
TAR="$(which tar)"
GZIP="$(which gzip)"
userLen=${#MyUSER_DBlist[@]}
passLen=${#MyPASSlist[@]}
if [ ${userLen} != ${passLen} ]
then exit
fi
################################################## ################################################## #############################
## Backup Files *not change*
################################################## ################################################## #############################
cd ${path_backup_files}
mkdir backup_${DAT}
cd ${path_datas}
for folder in *
do
${TAR} cfP ${path_backup_files}/backup_${DAT}/${folder}.tar ${path_datas}/${folder}
echo backup "${folder}.tar" complete!
done
################################################## ################################################## #############################
## Backup Database *not change*
################################################## ################################################## #############################
cd ${path_backup_db}
mkdir backup_${DAT}
for (( i=0; i<${userLen}; i++ ));
do
${MYSQLDUMP} -u ${MyUSER_DBlist[$i]} -p${MyPASSlist[$i]} -h ${MyHOST} ${MyUSER_DBlist[$i]} | ${GZIP} -9 > ${path_backup_db}/backup_${DAT}/${MyUSER_DBlist[$i]}.gz
echo backup "${MyUSER_DBlist[$i]}.gz" complete!
done
Zitieren Zitieren