Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Benutzerhandbuch › Fortgeschrittene › Tutorials & How To's - Tipps & Tricks ›

Mac OSX - Backupskript für Websites auf MAMP

Eingetragen von Peter Majmesku (656) am 18.09.2010 - 23:38 Uhr

Habe eine Bash-Backupfunktion programmiert mit welcher man die Dateien und Ordner sowie die Datenbank einer Website sichern kann. Es wird ein gewöhnlicher Datenbank-Dump erstellt und der Ordner, welcher die MySQL-Datenbank enthält, wird ebenso als Gzip-Archiv gespeichert. Denn manchmal kann es (wie z.B. beim Lucene-Suchindex) vorkommen, dass sich ein Dump nicht mehr fehlerfrei importieren lässt. Datei- und Ordnerrechte werden ebenso gespeichert. Zudem werden Dateien aus dem Backup-Verzeichnis gelöscht, die älter als 14 Tage sind. Damit alte Sicherungen Euren Speicherplatz nicht unnötig belegen. Wem 14 Tage zu wenig sind, kann ja die 14 im Code ersetzen.

Vielleicht kann es nicht nur mir nützlich sein. Es ist für eine Website unter MAMP ausgerichtet. Außer dem Standard htdocs-Ordner von MAMP braucht man im HOME-Verzeichnis nur einen Ordner namens Backups. Die benötigten Veränderungen für ein Linux-System sind minimal. Falls ihr nicht sicher ausschließen könnt, dass bei der Durchführung des Backups Daten in die Datenbank geschrieben werden, solltet ihr zuvor den MySQL-Datenbankserver stoppen. Da sonst der gesicherte Datenbank-Ordner (im Gegensatz zum Dump) unvollständig sein kann. Das stopMysql.sh-Skript von MAMP hängt sich auf, wenn ich es per Skript anspreche. Deswegen habe ich den Vorgang nicht in die Funktion gebracht.

Kopiert den folgenden Code in die versteckte .bashrc Datei in Eurem Home-Verzeichnis und führt im Terminal

source ~/.bashrc

aus um Eure .bashrc zu aktualisieren. Anschließend startet ihr die Funktion mit dem Befehl websiteBackup, wodurch der Name der Datenbank sowie der Name des Ordners, in dem Eure Website liegt, abgefragt werden.

function websiteBackup() {

echo "Database name?"
read db
cd /Applications/MAMP/db/mysql &&
tar zfcp ${db}_db_$(date +%Y.%m.%d_%H-%M-%S).tar.gz ${db}/ &&

echo "Website-folder?"
read folder

if [ -e $HOME/Backups/${folder} ];
then
mv ${db}_* ${HOME}/Backups/${folder}
else
mkdir /${HOME}/Backups/${folder}
mv ${db}_* ${HOME}/Backups/${folder}
fi

/Applications/MAMP/Library/bin/mysqldump --user=root --password=root ${db} | gzip > ${HOME}/Backups/${folder}/${db}__dump_db-$(date +%Y.%m.%d_%H-%M-%S).sql.gz &&

cd /Applications/MAMP/htdocs &&
tar zfcp ${folder}_files_$(date +%Y.%m.%d_%H-%M-%S).tar.gz ${folder}/ &&
mv ${folder}_files* ${HOME}/Backups/${folder} &&
echo "Deleting files which are older than 14 days."
find ${HOME}/Backups/${folder} -mtime +14 -exec rm {} \;
echo "Finish."
cd $HOME

}

Über Feedback würde ich mich freuen.

‹ Leitfaden zur Erstellung von Suchmaschinenoptimierten Drupal-Sites nach oben Module updaten via Shell auf Windows ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Mit Responsive Raster hatte
    vor 12 Stunden 33 Minuten
  • Hallo Alex,um das Häkchen
    vor 21 Stunden 22 Minuten
  • Modul view_unpublished
    vor 2 Tagen 37 Minuten
  • Modul "override node options"
    vor 2 Tagen 18 Stunden
  • Im Grunde ist dass ein
    vor 5 Tagen 7 Minuten
  • Naja ich habe nichts an den
    vor 2 Wochen 2 Tagen
  • Ich sehe ja dein Theme nicht
    vor 2 Wochen 3 Tagen
  • Zwischenzeitlich habe ich
    vor 2 Wochen 5 Tagen
  • Ok ich habe die anderen
    vor 2 Wochen 5 Tagen
  • Toll
    vor 2 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250265
Registrierte User: 20476

Neue User:

  • AltonRaf
  • JeffreyPaf
  • StevenEness

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 14 Gäste online.

Benutzer online

  • Thomas Gleitz
DrupalCenter durchsuchen:

Benutzerhandbuch

  • FAQ - Häufig gestellte Fragen.
  • Links & Downloads
  • Über Drupalcenter.de und das deutschsprachige Benutzerhandbuch
  • Über Drupal
  • Einsteiger
  • Fortgeschrittene
    • Best Practice - Drupal Sites - Guidelines
    • Die beliebtesten Themes und Module
    • Tutorials & How To's - Tipps & Tricks
      • Kurztipps - Dinge die Stunden sparen können.
      • Notfallpläne - Tipps die Deine Drupalinstallation retten können
      • Anleitung zur Erstellung eines einfachen Kontaktformulars
      • Arbeiten mit dem Drupal Taxonomie-System [beinhaltet veraltete Inhalte]
      • Bearbeiten-Tab zu jeden Block hinzufügen
      • Block View mit Argument
      • Das Tagebuch einer Site
      • Drupal 6 - Automatisch unterschiedliche Bildgröße bei Teaser und Artikel
      • Drupal 6 - Eigene CSS Datei in ein Theme integrieren
      • Drupal 6 - Einfache Bildergalerie mit Image und Lightbox2
      • Drupal 6 - Einrichten eines Kalenders
      • Drupal 6 - Google Adsense ohne Zusatzmodul einbinden
      • Drupal 6 - Hauptnavigation mit DropDown Effekt ab Ebene Zwei
      • Drupal 6 - ImageMagick mit XAMPP Lite nutzen
      • Drupal 6 - Imagefield mit Imagecache und Colorbox
      • Drupal 6 - Installation FCK Editor
      • Drupal 6 - Installieren der WYSIWYG API inkl. Editoren
      • Drupal 7: mehrere Bilder in Node: 1 Bild in Anrisstext
      • Drupal Code Highlighting in Redmine Projektarchiv (CodeRay)
      • Drupal Theming: JavaScript einhängen in Abhängigkeit von Page-Variablen
      • Drush - Das Schweizermesser für Drupal auf Kommandozeile
      • Einfaches und erfolgreiches Patchen unter Windows
      • Eingabeformat & Inputfilter
      • Einrichten eines einfachen, statischen Menüsystems
      • Erstellen von Patches
      • Gallery mit CCK und Views erstellen (Drupal 5)
      • Header image Modul einrichten
      • Inhaltsübersicht für einen User mit einem View erstellen
      • Javascript und CSS-Dateien einbinden
      • Kontaktformular mit Jquery aufwerten
      • Leitfaden zur Erstellung von Suchmaschinenoptimierten Drupal-Sites
      • Mac OSX - Backupskript für Websites auf MAMP
      • Module updaten via Shell auf Windows
      • Module übersetzen
      • Perl-Script zum Erzeugen einer statischen Kopie einer Drupal-Website
      • Portierung eine Themes von openwebdesign.org
      • Prozentbalken bei Views (Balkendiagramm)
      • Themen eines Node-Formulars
      • Titel mit Stil
      • Umkreissuche mit Location- und Views-Modul
      • Usergalerie mit ImageCache, CCK, Views + Thickbox
      • Userprofil mit Usernodes erstellen
      • Validierung von Usereingaben bei Nodes
      • Variation vom Showroom auf drupalcenter.de
      • View mit Eingabeformular für neue Beiträge
      • WebSVN mit Drupal Code Highlighting
      • Zusätzliche Submit-Schaltfläche in Node-Formularen
      • i18n Language Switcher Block, die Links mit den Flaggen themen
      • ui.slider als Ersatz für den Ajax-Pager von Views
      • Zugriffsbeschränkungen für Nodes - eine Übersicht der Möglichkeiten
  • Entwicklung von Modulen und Themes
  • Drupalcenters Community
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal-Testumgebung erstellen
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Das Copyright des deutschsprachigen Drupal-Benutzerhandbuches unterliegt den jeweiligen Autoren. Übersetzungen des englischsprachigen Drupal-Benutzerhandbuches unterliegen der Creative Commons License, Attribution-ShareAlike 2.0.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association