|
Webserver Fragen zum Apache, MySQL-Einrichtung und was sonst noch mit WebServern zu tun hat |
|
Themen-Optionen | Ansicht |
25.10.2009, 23:30 | #11 | |
Master Coder
Registriert seit: 10.03.2008
Ort: Zuhause
Beitr?ge: 8.037
Abgegebene Danke: 1.199
Erhielt 2.928 Danke für 266 Beiträge
Downloads: 28
Uploads: 9 Nachrichten: 357 Renommee-Modifikator:
10 |
Zitat:
__________________
Code:
require_once('include/gehirn.php'); session_start(); if(empty($action)) { echo "<td class="tablea">Kopf anstrengen und Nachdenken</td>"; } else { echo "<td class="tablea">Kopf zuviel angestrenkt nun Qualmt er ;)</td>"; } |
|
26.10.2009, 00:34 | #12 | |||||||||||
Benutzer
Registriert seit: 24.03.2008
Beitr?ge: 46
Abgegebene Danke: 3
Erhielt 43 Danke für 8 Beiträge
Downloads: 55
Uploads: 1 Nachrichten: 19 Renommee-Modifikator:
0 |
ich denke mal so das wenn es um die verschlüsselungen der login daten geht
ist das sftp protocol völlig ausreichend und leicht einzurichten. wen man aber wehrt auf ein verschlüsseltes login und eine verschlüsselte datenübertragung legt sollte man das ftps protocoll verwenden was etwas mehr aufwand mit sich bringt. muß halt jeder selber wissen wie man mit seine daten um geht.wichtig ist nur das man potenziellen angreifern so wenig angriffsfläche wie möglich bietet. in diesem sinne mfg schienbein
__________________
Wo soll das hinführen, wie weit mit uns gehen Selbst ein Baum ohne Wurzeln kann nicht bestehen Wann hört ihr auf, eure Heimat zu hassen Wenn ihr euch ihrer schämt, dann könnt ihr sie doch verlassen Du kannst dich nicht drücken, auf dein Land zu schauen Denn deine Kinder werden später darauf bauen Sprache, Brauchtum, und Glaube sind Werte der Heimat Ohne sie gehen wir unter, stirbt unser kleines Volk |
|||||||||||
06.02.2011, 01:47 | #13 | |||||||||||
Neuling
Registriert seit: 06.02.2011
Beitr?ge: 1
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Downloads: 0
Uploads: 0 Nachrichten: 0 Renommee-Modifikator:
0 |
Das Script von Zero111 finde ich super und ich habe es weiterentwickelt. Meine Version hat folgende Features:
- Verzeichnis- und Dateisicherung via zip - Backup von 6 DBs - 2 FTP-Verbindungen via lftp - FTP 1 soll via TLS verschlüsselt sein (Hinweise dazu im Script) - FTP 2 darf unverschlüsselt sein, ZIP wird aber automatisch mit ccrypt verschlüsselt - Via FTP werden OLD-Dateien des alten Backups erstellt. Die letzte OLD-Datei wird automatisch gelöscht - Der Backup-Dateiname bleibt bei mir gleich (keine Datumsanpassung) - SQL-Dump verarbeitet auch große Tables (>300) Vielen Dank an dieser Stelle an Zero111 für die tolle Inspiration! Nun zum Script: Code:
##!/bin/sh # ccrypt und lftp erforderlich (apt-get install ...) ################################################################################### # Zu sichernde Verzeichnisse und Dateien bestimmen. # # Beispiel Verzeichnisangabe: /var/www/sichermich/ # # Beispiel-Zip-File-Angabe: sichermich.zip # # Zip-Option (z.B. -r f¸r Unterverzeichnisse) wahlen # # commandX: Raute vorsetzen, wenn nicht genutzt! Vermeidet komische ".Zip"-Files! # ################################################################################### # Die Meldung wie ./backupscript.txt: line 231: /var/www/ zips/: is a directory" sind normal, # wenn nicht alle 10 Verzeichnisvariablen (VZ1-10) besetzt sind. VZ1="/var/www/vhosts/sichermich/" zip1="sichermich.zip" zipopt1="-r" command1="zip" VZ2="" zip2="" zipopt2="" #command2="zip" VZ3="" zip3="" zipopt3="" #command3="zip" VZ4="" zip4="" zipopt4="" #command4="zip" VZ5="" zip5="" zipopt5="" #command5="zip" VZ6="" zip6="" zipopt6="" #command6="zip" VZ7="" zip7="" zipopt7="" #command7="zip" VZ8="" zip8="" zipopt8="" #command8="zip" VZ9="" zip9="" zipopt9="" #command9="zip" VZ10="" zip10="" zipopt10="" #command10="zip" ############################################################################ # Speicherorte fur Dateien/Verzeichnisse, Datenbanke und Backupfile # ############################################################################ # Name der Backup-Datei BACKUP_FILE="Backup.zip" # temporaerer Speicherort des Backup-Archivs BACKUP_TMP="/var/www/tempzip/" # kompletter Pfad zum Backup BACKUP=${BACKUP_TMP}${BACKUP_FILE} # Temporarer Speicherort der Verzeichnisse und Dateien sowie die DBs BACKUP_DATA="/var/www/zips/" # Passwort f¸r ccrypt-Datei ccr="passwort" ########################################################################### # Datum initialisieren # ########################################################################### DATUM=`date '+%d.%m.%Y'` ############################################################################ # FTP-Daten: (1) mit TLS (2) ohne TLS aber dafür mit ccrypt-Verschlusselung# ############################################################################ # Host TLS (1) TLS notwendig, da ansonsten ein unverschl√ºsseltes ZIP ubertragen wird. # TLS muss in der /etc/lftp.conf und an der Gegenstelle eingerichtet sein. FTP_SERVER="" FTP_PORT="21" FTP_USER="" FTP_PASSWORT="" # Host ohne TLS (2), ZIP wird daf√ºr mit ccrypt verschl√ºsselt FTP_SERVER2="" FTP_PORT2="21" FTP_USER2="" FTP_PASSWORT2="" ############################################################################ # Info zur Aktivierung von TLS in lftp (/etc/lftp.conf) # ############################################################################ #TLS-Aktivierung f¸r /etc/lftp.conf: #set ftp:ssl-allow true ##set ftp:ssl-force true #set ftp:ssl-protect-data true #set ftp:ssl-protect-list true ############################################################################ # Datenbank-Daten (User, DB-Name, Passwort) fur 6 Datenbanke # ############################################################################ # Host DB_HOST="localhost" #### Datenbank 1 ############################# # User DB_USER_1="" # Passwort DB_PASSWORT_1="" # Name DB_NAME_1="" #### Datenbank 2 ############################## # User DB_USER_2="" # Passwort DB_PASSWORT_2="" # Name DB_NAME_2="" #### Datenbank 3 ############################## # User DB_USER_3="" # Passwort DB_PASSWORT_3="" # Name DB_NAME_3="" #### Datenbank 4 ############################### # User DB_USER_4="" # Passwort DB_PASSWORT_4="" # Name DB_NAME_4="" #### Datenbank 5 ############################### # User DB_USER_5="" # Passwort DB_PASSWORT_5="" # Name DB_NAME_5="" ############################################### #### Datenbank 6 #### # User DB_USER_6="" # Passwort DB_PASSWORT_6="" # Name DB_NAME_6="" ################################################# ##### ##### ##### Sicherung der Ordner und Dateien ##### ##### ##### ################################################# echo "[`date '+%d.%m.%Y %H:%M:%S'`] Die Dateien und Verzeichnisse werden gezippt." CD ${VZ1} ${command1} ${zipopt1} ${BACKUP_DATA}${zip1} * CD ${VZ2} ${command2} ${zipopt2} ${BACKUP_DATA}${zip2} * CD ${VZ3} ${command3} ${zipopt3} ${BACKUP_DATA}${zip3} * CD ${VZ4} ${command4} ${zipopt4} ${BACKUP_DATA}${zip4} * CD ${VZ5} ${command5} ${zipopt5} ${BACKUP_DATA}${zip5} * CD ${VZ6} ${command6} ${zipopt6} ${BACKUP_DATA}${zip6} * CD ${VZ7} ${command7} ${zipopt7} ${BACKUP_DATA}${zip7} * CD ${VZ8} ${command8} ${zipopt8} ${BACKUP_DATA}${zip8} * CD ${VZ9} ${command9} ${zipopt9} ${BACKUP_DATA}${zip9} * CD ${VZ10} ${command10} ${zipopt10} ${BACKUP_DATA}${zip10} * ################################################# ##### ##### ##### Laufende Prozesse anhalten ##### ##### ##### ################################################# # Apache Beenden echo "[`date '+%d.%m.%Y %H:%M:%S'`] Apache Webserver beenden" /etc/init.d/apache2 stop ################################################# ##### ##### ##### Sicherung der Datenbanken ##### ##### ##### ################################################# DB_1="${DB_NAME_1}${DATUM}.gzip" DB_2="${DB_NAME_2}${DATUM}.gzip" DB_3="${DB_NAME_3}${DATUM}.gzip" DB_4="${DB_NAME_4}${DATUM}.gzip" DB_5="${DB_NAME_5}${DATUM}.gzip" DB_6="${DB_NAME_6}${DATUM}.gzip" # SQL-Datenbanke sichern echo "[`date '+%d.%m.%Y %H:%M:%S'`] Datenbank:${DB_NAME_1} sichern" mysqldump --skip-lock-tables -h ${DB_HOST} -u${DB_USER_1} -p${DB_PASSWORT_1} ${DB_NAME_1} | gzip -9c > ${BACKUP_DATA}${DB_1} echo "[`date '+%d.%m.%Y %H:%M:%S'`] Datenbank:${DB_NAME_2} sichern" mysqldump -h ${DB_HOST} -u${DB_USER_2} -p${DB_PASSWORT_2} ${DB_NAME_2} | gzip -9c > ${BACKUP_DATA}${DB_2} echo "[`date '+%d.%m.%Y %H:%M:%S'`] Datenbank:${DB_NAME_3} sichern" mysqldump --skip-lock-tables -h ${DB_HOST} -u${DB_USER_3} -p${DB_PASSWORT_3} ${DB_NAME_3} | gzip -9c > ${BACKUP_DATA}${DB_3} echo "[`date '+%d.%m.%Y %H:%M:%S'`] Datenbank:${DB_NAME_4} sichern" mysqldump --skip-lock-tables -h ${DB_HOST} -u${DB_USER_4} -p${DB_PASSWORT_4} ${DB_NAME_4} | gzip -9c > ${BACKUP_DATA}${DB_4} echo "[`date '+%d.%m.%Y %H:%M:%S'`] Datenbank:${DB_NAME_5} sichern" mysqldump --skip-lock-tables -h ${DB_HOST} -u${DB_USER_5} -p${DB_PASSWORT_5} ${DB_NAME_5} | gzip -9c > ${BACKUP_DATA}${DB_5} echo "[`date '+%d.%m.%Y %H:%M:%S'`] Datenbank:${DB_NAME_6} sichern" mysqldump --skip-lock-tables -h ${DB_HOST} -u${DB_USER_6} -p${DB_PASSWORT_6} ${DB_NAME_6} | gzip -9c > ${BACKUP_DATA}${DB_6} # Apache starten echo "[`date '+%d.%m.%Y %H:%M:%S'`] Apache Webserver starten" /etc/init.d/apache2 start ############################################################################ # Backup.Zip erstellen, das via FTP hochgeladen wird # ############################################################################ echo "[`date '+%d.%m.%Y %H:%M:%S'`] Daten sammeln" zip -r -q ${BACKUP} ${BACKUP_DATA} ############################################################################ # FTP 1 und 2: Alte .old loschen und neue .old auf FTP-Server erstellen. # ############################################################################ #FTP 1: Losche alte OLD und benenne ZIP in OLD um. echo "[`date '+%d.%m.%Y %H:%M:%S'`] lftp Steuerdatei fur Umbenennung auf ${FTP_SERVER} erstellen" touch /root/rename.ftp echo "#rename.ftp" >> /root/rename.ftp echo "open ${FTP_SERVER}:${FTP_PORT}" >> /root/rename.ftp echo "user ${FTP_USER} ${FTP_PASSWORT}" >> /root/rename.ftp echo "rm ${BACKUP_FILE}.old" >> /root/rename.ftp echo "mv ${BACKUP_FILE} ${BACKUP_FILE}.old" >> /root/rename.ftp echo "[`date '+%d.%m.%Y %H:%M:%S'`] Lösche alte OLD-Datei und erstelle eine Neue auf ${FTP_SERVER}" lftp -f /root/rename.ftp echo "[`date '+%d.%m.%Y %H:%M:%S'`] fertig auf ${FTP_SERVER}" ############################################################################# #FTP 2: Losche alte OLD und benenne ZIP in OLD um. echo "[`date '+%d.%m.%Y %H:%M:%S'`] lftp Steuerdatei fur Umbenennung auf ${FTP_SERVER2} erstellen" touch /root/rename2.ftp echo "#rename2.ftp" >> /root/rename2.ftp echo "open ${FTP_SERVER2}:${FTP_PORT}" >> /root/rename2.ftp echo "user ${FTP_USER2} ${FTP_PASSWORT2}" >> /root/rename2.ftp echo "rm ${BACKUP_FILE}.cpt.old" >> /root/rename.ftp echo "mv ${BACKUP_FILE}.cpt ${BACKUP_FILE}.cpt.old" >> /root/rename2.ftp echo "[`date '+%d.%m.%Y %H:%M:%S'`] Lösche alte OLD-Datei und erstelle eine Neue auf ${FTP_SERVER}" lftp -f /root/rename2.ftp echo "[`date '+%d.%m.%Y %H:%M:%S'`] fertig auf ${FTP_SERVER}" ############################################################################ # Neue Zips per ftp hochladen. (TLS und ZIP) # ############################################################################ # lftpt Steuerdatei erstellen (TLS) echo "[`date '+%d.%m.%Y %H:%M:%S'`] lftp Steuerdatei erstellen TLS-ZIP" touch /root/backup.ftp echo "#backup.ftp" >> /root/backup.ftp echo "open ${FTP_SERVER}:${FTP_PORT}" >> /root/backup.ftp echo "user ${FTP_USER} ${FTP_PASSWORT}" >> /root/backup.ftp echo "put ${BACKUP}" >> /root/backup.ftp # Backup Daten auf FTP uebertragen echo "[`date '+%d.%m.%Y %H:%M:%S'`] Backup auf FTP-Server ${FTP_SERVER} ¸bertragen" lftp -f /root/backup.ftp ############################################################################ # Neue Zips per ftp hochladen. (ohne TLS aber mit ccrypt) # ############################################################################ CD ${BACKUP_TMP} ccrypt -e -K ${ccr} -f ${BACKUP} # lftpt Steuerdatei erstellen (offen, aber cryptet) echo "[`date '+%d.%m.%Y %H:%M:%S'`] lftp Steuerdatei erstellen f¸r CRYPT-‹bertragung" touch /root/backup2.ftp echo "#backup2.ftp" >> /root/backup2.ftp echo "open ${FTP_SERVER2}:${FTP_PORT}" >> /root/backup2.ftp echo "user ${FTP_USER2} ${FTP_PASSWORT2}" >> /root/backup2.ftp echo "put ${BACKUP}.cpt" >> /root/backup2.ftp # Backup Daten auf FTP uebertragen echo "[`date '+%d.%m.%Y %H:%M:%S'`] Backup auf FTP Server ${FTP_SERVER2} ¸bertragen (ZIP, offen, CRYPz.cpt)" lftp -f /root/backup2.ftp ################################################# ##### ##### ##### Abschliessende Arbeiten ##### ##### ##### ################################################# # Temporaere Daten loeschen echo "[`date '+%d.%m.%Y %H:%M:%S'`] Temporare Daten loschen" rm -f /root/*.ftp rm -f ${BACKUP} ${BACKUP}.cpt rm -f ${BACKUP_DATA}${DB_1} ${BACKUP_DATA}${DB_2} ${BACKUP_DATA}${DB_3} ${BACKUP_DATA}${DB_4} ${BACKUP_DATA}${DB_5} ${BACKUP_DATA}${DB_6} rm -f ${BACKUP_DATA}*.* ### FERTIG ### echo "[`date '+%d.%m.%Y %H:%M:%S'`] Fertig" Ge?ndert von Networking Homer (06.02.2011 um 01:54 Uhr) |
|||||||||||
06.02.2011, 02:14 | #14 | |||||||||||||
König
Registriert seit: 18.04.2008
Beitr?ge: 1.615
Abgegebene Danke: 99
Erhielt 195 Danke für 37 Beiträge
Downloads: 36
Uploads: 0 Nachrichten: 20 Renommee-Modifikator:
2211 |
ich hab so ein script auch, nur das es nicht auf einen anderen server geschickt wird, mich würde mal interresieren wie man sowas automatisch aufm homerechner transformieren kann und ob das überhaupt geht
__________________
PHP-Code:
|
|||||||||||||
06.02.2011, 02:25 | #15 |
Ausbilder Schmidt
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 36
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter
Downloads: 43
Uploads: 1 Nachrichten: 3942 Renommee-Modifikator:
10 |
pack auf dein rechner ne nen ftp server.. zb der von filezilla
leg dir ne dyndns adresse am falls du ne dynamische ip hast und dann sollte das script laufen
__________________
|
06.02.2011, 02:45 | #16 | |||||||||||||
König
Registriert seit: 18.04.2008
Beitr?ge: 1.615
Abgegebene Danke: 99
Erhielt 195 Danke für 37 Beiträge
Downloads: 36
Uploads: 0 Nachrichten: 20 Renommee-Modifikator:
2211 |
ja ich nutze aber nicht dieses script muss ich mal sehn wie ich das machen
__________________
PHP-Code:
|
|||||||||||||
06.02.2011, 02:58 | #17 |
Ausbilder Schmidt
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 36
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter
Downloads: 43
Uploads: 1 Nachrichten: 3942 Renommee-Modifikator:
10 |
mit lftp geht das ganz gut.. kann man auch problemlos mit anderen scripten machen
__________________
|
14.02.2011, 18:03 | #18 | |||||||||||
König
Registriert seit: 14.02.2011
Ort: Graz
Alter: 39
Beitr?ge: 1.495
Abgegebene Danke: 82
Erhielt 200 Danke für 37 Beiträge
Downloads: 11
Uploads: 0 Nachrichten: 6230 Renommee-Modifikator:
3168 |
Ich nütze für die Sicherung der MySQL Datenbank ein PHP Script was mir einen SQL Dump in eine Textdatei schreibt.. alle 48 Stunden
Datenbackup mache ich Manuell weil das ja doch CPU sehr lastig ist. Im Zweifelsfall via PHP alle Dateien und Ordner des Apache htdocs Ordners zusammenzippen, gibt ja schon genug ZIP classen, ich verwende die EasyZip Class, und dann die Temporäre Zip Datei in ein anderes Verzeichnis verschieben. Da ich 2 Festplatten habe verschiebe ich es von C: auf D: und erspare mir die lästige FTP Spielerei. Wichtig bei einem eigenen Cronjob Script wie ich eines habe, weil es Zeitaufwändig ist, das Zeitüberschreitungslimit von PHP zu deaktiveren: set_time_limit(0); oder ini_set('max_execution_time', '0') MfG |
|||||||||||
14.02.2011, 18:20 | #19 |
Ausbilder Schmidt
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 36
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter
Downloads: 43
Uploads: 1 Nachrichten: 3942 Renommee-Modifikator:
10 |
Dabei bleibt anzumerken dass PHP Scripte die via Commandozeile ausgeführt werden von Haus aus die max_execution_time = 0 gesetzt haben
Von daher ist das unnötig dies nochmal im Script reinzuschreiben und ein Unix Shellscript arbeitet auch sehr performant.. Das Script braucht jede nacht um 6min um den kompletten Datenbestand zu sammeln (etwa 1,6GB) Danach wird der apache wieder gestartet und das Backup auf einen anderen Server geschoben
__________________
Ge?ndert von Zero111 (14.02.2011 um 18:23 Uhr) |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1) | |
|
|