<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://znil.net/index.php?action=history&amp;feed=atom&amp;title=Ubuntu_Backupskript_Apache_Webserver_und_MySQL_Datenbank</id>
	<title>Ubuntu Backupskript Apache Webserver und MySQL Datenbank - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://znil.net/index.php?action=history&amp;feed=atom&amp;title=Ubuntu_Backupskript_Apache_Webserver_und_MySQL_Datenbank"/>
	<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Backupskript_Apache_Webserver_und_MySQL_Datenbank&amp;action=history"/>
	<updated>2026-04-29T04:22:32Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in znilwiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Backupskript_Apache_Webserver_und_MySQL_Datenbank&amp;diff=8727&amp;oldid=prev</id>
		<title>BLinz: Die Seite wurde neu angelegt: „ Kategorie:Apache2 Kategorie:Linux Kategorie:MySQL Kategorie:Ubuntu Meinen Webserver sichere ich mehrfach und auf verschiedene Arten parallel.&lt;…“</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Backupskript_Apache_Webserver_und_MySQL_Datenbank&amp;diff=8727&amp;oldid=prev"/>
		<updated>2016-09-27T18:15:11Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „ &lt;a href=&quot;/index.php?title=Kategorie:Apache2&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:Apache2 (Seite nicht vorhanden)&quot;&gt;Kategorie:Apache2&lt;/a&gt; &lt;a href=&quot;/index.php?title=Kategorie:Linux&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:Linux (Seite nicht vorhanden)&quot;&gt;Kategorie:Linux&lt;/a&gt; &lt;a href=&quot;/index.php?title=Kategorie:MySQL&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:MySQL (Seite nicht vorhanden)&quot;&gt;Kategorie:MySQL&lt;/a&gt; &lt;a href=&quot;/index.php?title=Kategorie:Ubuntu&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:Ubuntu (Seite nicht vorhanden)&quot;&gt;Kategorie:Ubuntu&lt;/a&gt; Meinen Webserver sichere ich mehrfach und auf verschiedene Arten parallel.&amp;lt;…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
[[Kategorie:Apache2]]&lt;br /&gt;
[[Kategorie:Linux]]&lt;br /&gt;
[[Kategorie:MySQL]]&lt;br /&gt;
[[Kategorie:Ubuntu]]&lt;br /&gt;
Meinen Webserver sichere ich mehrfach und auf verschiedene Arten parallel.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine davon ist das ich alle meine Webseiten, die dazu gehörigen Datenbanken und das /etc Verzeichnis auf eine NFS Freigabe kopieren.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu habe ich mir das folgende Skript gebaut:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Für MySQL Datenbankzugriff - Benutzer mit vollen rechten auf allen Datenbanken&lt;br /&gt;
username=root&lt;br /&gt;
password=*****&lt;br /&gt;
&lt;br /&gt;
# Sichert alle MySQL Datenbanken, Webverzeichnisse sowie die wichtigsten Systemeinstellungen in ein Verzeichnis parallel zu dem Verzeichnis in dem das Skript selbst liegt.&lt;br /&gt;
# /Backuppfad/scripte/diesesSkript.sh&lt;br /&gt;
# /Backuppfad/Name-des-Server/...&lt;br /&gt;
&lt;br /&gt;
# Aktuellen Pfad des Scripts ermitteln&lt;br /&gt;
# Lösung stammt von https://stackoverflow.com/questions/59895/can-a-bash-script-tell-which-directory-it-is-stored-in&lt;br /&gt;
echo &amp;quot;Ermittle den Pfad für die Backup-Dateien ...&amp;quot;&lt;br /&gt;
SOURCE=&amp;quot;${BASH_SOURCE[0]}&amp;quot;&lt;br /&gt;
while [ -h &amp;quot;$SOURCE&amp;quot; ]; do # resolve $SOURCE until the file is no longer a symlink&lt;br /&gt;
    DIR=&amp;quot;$( cd -P &amp;quot;$( dirname &amp;quot;$SOURCE&amp;quot; )&amp;quot; &amp;amp;&amp;amp; pwd )&amp;quot;&lt;br /&gt;
    SOURCE=&amp;quot;$(readlink &amp;quot;$SOURCE&amp;quot;)&amp;quot;&lt;br /&gt;
    [[ $SOURCE != /* ]] &amp;amp;&amp;amp; SOURCE=&amp;quot;$DIR/$SOURCE&amp;quot; # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located&lt;br /&gt;
done&lt;br /&gt;
DIR=&amp;quot;$( cd -P &amp;quot;$( dirname &amp;quot;$SOURCE&amp;quot; )&amp;quot; &amp;amp;&amp;amp; pwd )&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Der Backuppfad ist über unserem Scriptpfad:&lt;br /&gt;
BACKUPPATH=&amp;quot;$( cd -P &amp;quot;$( dirname &amp;quot;$SOURCE&amp;quot; )&amp;quot; &amp;amp;&amp;amp; cd .. &amp;amp;&amp;amp; pwd )/$( hostname )&amp;quot;&lt;br /&gt;
echo &amp;quot;Pfad Datenbanken ist : ${BACKUPPATH}/databases&amp;quot;&lt;br /&gt;
echo &amp;quot;Pfad Webseiten ist ..: ${BACKUPPATH}/www&amp;quot;&lt;br /&gt;
echo &amp;quot;Pfad Sonstiges ist ..: ${BACKUPPATH}/other&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DATETIME=$(date &amp;#039;+%Y-%m-%d--%H-%M-%S&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Erstelle ggf. die Verzeichnisse ...&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;${BACKUPPATH}/databases&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;${BACKUPPATH}/www&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;${BACKUPPATH}/other&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Lösche Backupdateien älter als 7 Tage ...&amp;quot;&lt;br /&gt;
find &amp;quot;${BACKUPPATH}/databases&amp;quot; -type f -mtime +7 -delete&lt;br /&gt;
find &amp;quot;${BACKUPPATH}/www&amp;quot; -type f -mtime +7 -delete&lt;br /&gt;
find &amp;quot;${BACKUPPATH}/other&amp;quot; -type f -mtime +7 -delete&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sichere alle Datenbanken ...&amp;quot;&lt;br /&gt;
for x in $(mysql -u$username -p$password -Bse &amp;#039;show databases&amp;#039;); do&lt;br /&gt;
    case ${x} in&lt;br /&gt;
        information_schema|performance_schema|mysql)&lt;br /&gt;
            echo Skipping Database ${x} ...&lt;br /&gt;
            ;;&lt;br /&gt;
        *)&lt;br /&gt;
            echo Backup Database ${x} ...&lt;br /&gt;
            mysqldump -u$username -p$password $x | gzip &amp;gt; &amp;quot;${BACKUPPATH}/databases/${x}__${DATETIME}.sql.gz&amp;quot;&lt;br /&gt;
    esac&lt;br /&gt;
done&lt;br /&gt;
echo &amp;quot;Alle Datenbanken gesichert!&amp;quot;&lt;br /&gt;
echo &amp;quot;Sichere Webseiten ...&amp;quot;&lt;br /&gt;
for folder in $(ls /var/www); do&lt;br /&gt;
    case ${folder} in&lt;br /&gt;
        clients)&lt;br /&gt;
            echo Skipping Folder ${folders}&lt;br /&gt;
            ;;&lt;br /&gt;
        *)&lt;br /&gt;
            echo Backup Folder /var/www/${folder}&lt;br /&gt;
            /usr/bin/nice -n 19 tar -hczf &amp;quot;${BACKUPPATH}/www/${folder}_$DATETIME.tar.gz&amp;quot; /var/www/${folder} 1&amp;gt;/dev/null&lt;br /&gt;
            # tar Optionen:&lt;br /&gt;
            # c = create Archiv / neues Archiv erstellen&lt;br /&gt;
            # z = gzip = Mit gzip komprimieren&lt;br /&gt;
            # f = Filename = angegebene Arhcivdatei nutzen&lt;br /&gt;
            # h = Symbolischen Links folgen und die Dateien dahinter sichern&lt;br /&gt;
    esac&lt;br /&gt;
done&lt;br /&gt;
echo &amp;quot;Alle Webseiten gesichert!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sichere Konfiguartionsdateien ...&amp;quot;&lt;br /&gt;
/usr/bin/nice -n 19 tar -czf &amp;quot;${BACKUPPATH}/other&amp;quot;/etc+more_$DATETIME.tar.gz /etc /root /usr/local/etc /usr/local/sbin 1&amp;gt;/dev/null&lt;br /&gt;
echo &amp;quot;Alle Konfigurationsdateien gesichert!&amp;quot;&lt;br /&gt;
echo &amp;quot;Fertig!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Einsatz im crontab z.B. wie folgt:&amp;lt;br&amp;gt;&lt;br /&gt;
 0 0 * * * /BACKUP/scripts/UniversalBackup.sh 1&amp;gt;/dev/null&lt;br /&gt;
Sichert um Mitternacht, bei Fehlern gibt es eine Email an den root-Benutzer (der per mir auf ein externes Postfach weitergeleitet wird)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
</feed>