Thread wurde verschoben dann ist ja jetzt wieder ok...
-
-
Thread moved to German -> Offtopic
-
-
-
-
-
@andy-lu Je ne parle pas un mot d'allemand perso, donc je ne comprend rien, heureusement, Google Translator est là pour m'aider...
The same, in a language that we can mostly understand:
I didn't speak a word of German personnally, so I didn't understand anything, fortunately, Google Translator is here to help me...EDIT: It's my last post there, now it's in the German area, you can continue in German, just be carefull next time.
-
Ok, sry for the missunderstood, i don't see that you are moderator because the customer badge.
I react so because i hate that if normal user make restrictions in forum.
All is good
OT: Je parle francais aussi (LUXEMBOURG)
EDIT: ok back to topic
-
-
-
Ok, ich verstehe.
Ich mache jetzt alles bilingual.Ich habe jetzt ein paar Modifikationen gemacht, denkt ihr das macht Sinn?
-----------------------------------------
Ok i understand.
I do it now bilingualI have now done a modification of the file with logfile, do anybody think this make sense?
Shell-Script- #!/bin/bash
- # other settings
- LogFolder="/var/www/virtual/domain.tld/backups/"
- # Path to mySQL backup
- backup_path="/var/www/virtual/domain.tld/backups/sql"
- # create logfile
- touch ${LogFolder}log-$(date +"%Y-%m-%d").txt
- chmod 755 ${LogFolder}log-$(date +"%Y-%m-%d").txt
- # Dump mySQL databases
- echo "------Log Start $(date +'%Y-%m-%d-%H:%M:%S')------" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- echo "[$(date +'%Y-%m-%d-%H:%M:%S')] mySQL dump started" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- mysqldump --user=USER --password=PASSWORT --host=localhost DATABASENAME > $backup_path/DATABASENAME.sql
- mysqldump --user=USER2 --password=PASSWORT2 --host=localhost DATABASENAME2 > $backup_path/DATABASENAME2.sql
- echo "[$(date +'%Y-%m-%d-%H:%M:%S')] mySQL dump finished" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- # tar mySQL dump
- echo "[$(date +'%Y-%m-%d-%H:%M:%S')] tar mySQL started" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- tar cfvz /var/www/virtual/domain.tld/backups/mysql_$(date +"%Y-%m-%d").tar.gz /var/www/virtual/domain.tld/backups/sql
- echo "[$(date +'%Y-%m-%d-%H:%M:%S')] tar mySQL finished" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- # tar htdocs
- echo "[$(date +'%Y-%m-%d-%H:%M:%S')] tar htdocs started" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- tar cfvz /var/www/virtual/domain.tld/backups/htdocs_$(date +"%Y-%m-%d").tar.gz /var/www/virtual/domain.tld/htdocs
- echo "[$(date +'%Y-%m-%d-%H:%M:%S')] tar htdocs finished" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
- # remove files from '/var/www/virtual/domain.tld/backups/sql'
- rm -fr /var/www/virtual/domain.tld/backups/sql/*.sql
- echo "------Log Ended $(date +'%Y-%m-%d-%H:%M:%S')------" >> ${LogFolder}log-$(date +"%Y-%m-%d").txt
cron maybe here:
0 2 * * * /path/backup.sh >/dev/null 2>&1 -
-
Es ist doch möglich mit rsync auf den PC zu transferieren:
rsync -avzh -e "ssh -p PORT" root@IP:/var/www/virtual/domain.tld/htdocs /media/HDD1/testDamit geht das echt ziemlich gut.
Die Frage die sich mir jetzt nur stellt, falls mal was schief geht muss ich das Backup wieder komplett vom PC per FTP ins htdocs laden oder kann ich auch irgendwie anders vorgehen?
Wenn ich jetzt das backup mit rsync auf dem Server platziere könnte ich einfach mit cp kopieren, aber lokal von PC > Server , bin ich jetzt irgendwie überfragt.
-
Ich erstelle Dumps der Datenbanken und anschließend werden die Dumps und die Web-Verzeichnisse mit duplicity auf einen anderen Server gesichert.
Genau so halte ich das auch mit den zu sichernden Daten. Die rotierenden MySQL-Dumps lasse ich in einen Pfad schreiben den duplicitiy sichert. Somit brauche ich mich nicht um den Transfer zu mir oder sonst wo kümmern, duplicity legt diese verschlüsselt auf einen Backupserver ab.
Für die Backups reicht ein günstiger root-Server mit einer Platte "irgendwo". Ab und an greife ich mir da ein Angebot bei OVH (Kimsufi oder wie die dort heißen) (zwischen 5 und 10 Euro) ab.
EIDT: Folgendes Backup-Script verwende ich:
(Dies rotiert und packt jede DB in ein eigenes File, +ignoreliste)Shell-Script- #!/bin/bash
- ### Write log to temporary file ###
- exec &> /tmp/backuplog.txt
- ### Defaults Setup ###
- STORAGEDIR="/var/sqlbbackup";
- NOW=`date "+%s"`;
- OLDESTDIR=`ls $STORAGEDIR | head -1`;
- NOWDIR=`date +"%Y-%m-%d"`;
- NOWFILE=`date +"%Y-%m-%d"`;
- OLDEST=`date -d "$OLDESTDIR" "+%s"`;
- BACKUPDIR="$STORAGEDIR/$NOWDIR";
- DIFF=$(($NOW-$OLDEST));
- DAYS=$(($DIFF/ (60*60*24)));
- DIRLIST=`ls -lRh $BACKUPDIR`;
- ROTATION="7"
- GZIPCHECK=();
- ### Server Setup ###
- MUSER="root";
- MPASS="---DEIN----PASSWORT---";
- MHOST="localhost";
- MPORT="3306";
- IGNOREDB="
- information_schema
- mysql
- test
- "
- MYSQL=`which mysql`;
- MYSQLDUMP=`which mysqldump`;
- GZIP=`which gzip`;
- ### Create backup dir ###
- if [ ! -d $BACKUPDIR ]; then
- mkdir -p $BACKUPDIR
- if [ "$?" = "0" ]; then
- :
- else
- echo "Couldn't create folder. Check folder permissions and/or disk quota!"
- fi
- else
- :
- fi
- ### Get the list of available databases ###
- DBS="$(mysql -u $MUSER -p$MPASS -h $MHOST -P $MPORT -Bse 'show databases')"
- ### Backup DBs ###
- for db in $DBS
- do
- DUMP="yes";
- if [ "$IGNOREDB" != "" ]; then
- for i in $IGNOREDB
- do
- if [ "$db" == "$i" ]; then
- DUMP="NO";
- fi
- done
- fi
- if [ "$DUMP" == "yes" ]; then
- FILE="$BACKUPDIR/$NOWFILE-$db.sql.gz";
- echo "BACKING UP $db";
- $MYSQLDUMP --add-drop-database --opt --lock-all-tables -u $MUSER -p$MPASS -h $MHOST -P $MPORT $db | gzip > $FILE
- if [ "$?" = "0" ]; then
- gunzip -t $FILE;
- if [ "$?" = "0" ]; then
- GZIPCHECK+=(1);
- echo `ls -alh $FILE`;
- else
- GZIPCHECK+=(0);
- echo "Exit, gzip test failed.";
- fi
- else
- echo "Dump of $db failed!"
- fi
- fi
- done;
- ### Check if gzip test for all files was ok ###
- CHECKOUTS=${#GZIPCHECK[@]};
- for (( i=0;i<$CHECKOUTS;i++)); do
- CHECKSUM=$(( $CHECKSUM + ${GZIPCHECK[${i}]} ));
- done
- ### If all files check out, delete the oldest dir ###
- if [ "$CHECKSUM" == "$CHECKOUTS" ]; then
- echo "All files checked out ok. Deleting oldest dir.";
- ## Check if Rotation is true ###
- if [ "$DAYS" -ge $ROTATION ]; then
- rm -rf $STORAGEDIR/$OLDESTDIR;
- if [ "$?" = "0" ]; then
- echo "$OLDESTDIR deleted."
- else
- ### Error message with listing of all dirs ###
- echo "Couldn't delete oldest dir.";
- echo "Contents of current Backup:";
- echo " ";
- echo $DIRLIST;
- fi
- else
- :
- fi
- else
- echo "Dispatching Karl, he's an Expert";
- ### Send mail with contents of logfile ###
- #mail -s "Backuplog" mail@domain.tld < /tmp/backuplog.txt;
- fi
-