Christopher: Rsync, Ubuntu Backup - Welche Directories

Guten Abend,

ich bin gerade dabei mir ein rsync-Script für meine Backups zu schreiben.
Hierzu hätte ich wohl etwas grundlegende Fragen bzgl. Ubuntu respektive Linux.
Und zwar geht es um die Ordner, welche ich in das Backup mit einbeziehen sollte.

Ich habe gelesen, dass man zb folgende Ordner nicht backupen soll:
/proc
/lost+found
/sys
/mnt
/media
/dev
Was für mich zugegeben auch einleuchtend erscheint.
Aber die Ratschläge ausschließlich das home-Verzeichnis zu backupen, finde ich doch etwas untertrieben.

Daher ist dies hier nun meine Whitelist:
/bin
/boot
/etc
/home
/lib
/lib64
/opt
/run
/sbin
/srv
/var
/usr

Nun meine Frage:
Angenommen mein System verabschiedet sich. Wie hätte ich dann genau vorzugehen?

  • System neu installieren
  • Backup-Ordner kopieren und auf dem System ersetzen?

Wie verhält es sich mit den installierten Programmen, wenn ich das richtig verstanden habe, liegen diese gänzlich unter /usr/ und/oder /bin und/oder /sbin, sowie Konfigurationen unter /etc?

Ich habe auch gelesen, dass man sich zb mittels
dpkg --get-selections > my-installed-apps
eine Liste der installierten Programme erstellen lassen kann, und diese nach einem Neuaufsetzen nachträglich wieder installieren kann.

Dann las ich auch, dass man /usr/bin zb nicht backupen bräuchte. Das sehe ich aber irgendwie anders, da man dort ja doch schon hin und wieder einem Symlink manuell updated.

Das gleiche mit /etc. Zb sollte doch m.M.n auch zwingend die xorg.conf gesichert werden - oder lässt sich die auf dem neuen Ssytem nicht 1:1 übernehmen?

Also, ich möchte eigentlich, dass ich im Falle eines Systemausfalles nach dem Einspielen des letzten Backups in etwa genau dort weiter machen kann, wo ich aufgehört habe - ohne wieder irgendetwas konfigurieren zu müssen.
Ach so, und ich möchte auch gerne inkrementell backupen, und auch nicht als Image-File o.ae., so dass ich ggfs. auch manuell ein paar Files wieder in mein System einspielen kann - daher rsync.

Vielleicht kann mit ja einer hier mal einen kurzen Einblick geben.

Vielen Dank
Christopher

  1. Hi,

    bin gerade auf eine detailliertere Exclude-Liste gestoßen:
    http://unix.stackexchange.com/questions/48311/what-do-you-filter-exclude-list-when-doing-backup-with-rsync

    Die sieht doch recht gut aus?

    MfG
    Christopher

  2. Tach!

    Ich habe gelesen, dass man zb folgende Ordner nicht backupen soll:
    /proc
    /lost+found
    /sys
    /mnt
    /media
    /dev

    Es ist einfach sinnlos, diese sichern zu wollen. In mnt und media ist vermutlich nichts drin, solange nichts gemountet wird. proc, sys und dev werden vom System erstellt und enthalten Zugriffe auf Systemressourcen oder andere Informationen, die live aus dem System ausgelesen werden. Du kannst ja mal /dev/null oder dev/random auszulesen versuchen ...

    Daher ist dies hier nun meine Whitelist:
    /bin
    /boot
    /lib
    /lib64
    /opt
    /sbin
    /usr

    Diese werden beim Systemaufsetzen gefüllt. Wenn du nicht weißt, dass du da was händisch hinzugefügt hast, brauchst du nur zu wissen, welche Pakete installiert werden müssen.

    /run

    Das gehört in die obere Liste, beziehungsweise wird ebenfalls beim Installieren mit den benötigten Unterverzeichnissen erstellt.

    /etc
    /home
    /srv
    /var

    Hier sind üblicherweise deine Daten drin. srv ist oftmals leer, wenn du es nicht bewusst verwendest. var enthält nicht immer nur sichernswertes Zeug. /var/run (wenn es ein physisches und nicht nur ein Symlink ist) zum Beispiel enthält in der Regel nur die PID-Dateien laufender Prozesse, die sowieso beim Starten neu geschrieben werden. /var/lib enthält Daten, unter anderem die MySQL-Datenbankdateien.

    Angenommen mein System verabschiedet sich. Wie hätte ich dann genau vorzugehen?

    • System neu installieren

    Von einem Rettungsmedium starten und ...

    • Backup-Ordner kopieren und auf dem System ersetzen?

    ... pauschal gesagt, alle eigenen Dateien wieder hinkopieren - inklusive derer, die Das System aufgrund deiner Handlungen ändert (/var/lib, ...).

    Wie verhält es sich mit den installierten Programmen, wenn ich das richtig verstanden habe, liegen diese gänzlich unter /usr/ und/oder /bin und/oder /sbin, sowie Konfigurationen unter /etc?

    Ja, üblicherweise. Ausnahmen sind vor allem unter /opt und /srv zu finden.

    Dann las ich auch, dass man /usr/bin zb nicht backupen bräuchte. Das sehe ich aber irgendwie anders, da man dort ja doch schon hin und wieder einem Symlink manuell updated.

    Wenn du sowas machst, solltest du das dokumentieren, am besten als kopierfähige Kommandofolge oder du erstellst dir gleich ein Script.

    Das gleiche mit /etc. Zb sollte doch m.M.n auch zwingend die xorg.conf gesichert werden - oder lässt sich die auf dem neuen Ssytem nicht 1:1 übernehmen?

    Kommt drauf an, was alles an Hardware neu ist.

    dedlfix.

  3. Tach,

    /bin
    /lib
    /lib64
    /sbin
    /usr

    kommt eh aus dem Paketsystem

    /boot

    nur, wenn ich eigene Kernel oder eine kompliziertere Grub-Konfiguration habe

    /etc
    /home
    /opt
    /var
    /srv

    ja

    /run

    nein, ist eh ein tpmfs

    Angenommen mein System verabschiedet sich. Wie hätte ich dann genau vorzugehen?

    1. System neu installieren
    2. Programme nachinstallieren, siehe unten
    3. Live-System von CD starten
    4. Backup-Ordner kopieren und auf dem System ersetzen

    Wie verhält es sich mit den installierten Programmen, wenn ich das richtig verstanden habe, liegen diese gänzlich unter /usr/ und/oder /bin und/oder /sbin, sowie Konfigurationen unter /etc?

    jup

    Ich habe auch gelesen, dass man sich zb mittels
    dpkg --get-selections > my-installed-apps
    eine Liste der installierten Programme erstellen lassen kann, und diese nach einem Neuaufsetzen nachträglich wieder installieren kann.

    Ja, dafür lasse ich üblicherweise einen Cron-Job laufen, der das nach /var/backups wirft.

    Dann las ich auch, dass man /usr/bin zb nicht backupen bräuchte. Das sehe ich aber irgendwie anders, da man dort ja doch schon hin und wieder einem Symlink manuell updated.

    Dafür gibt es eigenlich den Alternatives-Mechanismus

    Das gleiche mit /etc. Zb sollte doch m.M.n auch zwingend die xorg.conf gesichert werden - oder lässt sich die auf dem neuen Ssytem nicht 1:1 übernehmen?

    In den meisten Fällen, benötigt man diese ja nicht mehr, aber /etc würde ich eh sichern.

    Also, ich möchte eigentlich, dass ich im Falle eines Systemausfalles nach dem Einspielen des letzten Backups in etwa genau dort weiter machen kann, wo ich aufgehört habe - ohne wieder irgendetwas konfigurieren zu müssen.
    Ach so, und ich möchte auch gerne inkrementell backupen, und auch nicht als Image-File o.ae., so dass ich ggfs. auch manuell ein paar Files wieder in mein System einspielen kann - daher rsync.

    Für ein inkrementelles Backup würde ich eher tar verwenden.

    mfg
    Woodfighter

  4. Guten Abend,

    Namd.

    Nun meine Frage:
    Angenommen mein System verabschiedet sich. Wie hätte ich dann genau vorzugehen?

    • System neu installieren
    • Backup-Ordner kopieren und auf dem System ersetzen?

    Was für daten sind den wichtig, auf einem linux system?

    Ich sorge bei meinen systemen dafür, das ich nicht gross überlegen muss, was ich sichern muss. Alles was ich an datenbestand habe ist gewöhnlich unter /home. Alles config files sind in /etc. Auf einem multiusersystem würde ich /home komplett einschliessen. Wenn es meine maschine ist dann sind mir meine 'daten' in meinem homeverzeichniss ziemlich egal. Alle source codes sind via git verteilt, mein ~ ist rudimentär in nem git (alles was ich brauch um auf einer maschine from scratch anzufangen).

    Auf einem neuen system mach ich ein git clone ... in meinem ~ und installiere die nötige/gewünschte software (editor, shell ...). Danach installiere ich alle programme die ich brauch über den paketmanager und ersetze die benötigten configfiles in /etc durch meine backups (gewöhnlich finde ich das /etc auch sehr gut in einem git repository landen kann).

    Danach hohl ich meine 'daten' zurück ins home. Auf meiner workstation und meinem homeserver wäre das zb /home/{ftp,music,mpd}.

    Auf einem production server muss man noch ein wenig weiter gehen, und eventuell /var noch mit ins backup aufnehmen. Ich tendiere dazu, alles was notwendig ist ins /home zu linken.

    Wie verhält es sich mit den installierten Programmen, wenn ich das richtig verstanden habe, liegen diese gänzlich unter /usr/ und/oder /bin und/oder /sbin, sowie Konfigurationen unter /etc?

    Nein. Programme sind weit verstreut. Das ist aber nicht relevant. Man sichert keine libs und binaries. Man sichert nur config-files und daten.

    Ich habe auch gelesen, dass man sich zb mittels
    dpkg --get-selections > my-installed-apps
    eine Liste der installierten Programme erstellen lassen kann, und diese nach einem Neuaufsetzen nachträglich wieder installieren kann.

    Da kommen wir der sache näher.

    Übrigens. Ein guter paketmanager beschwert sich wenn er existierende binaries oder libs überschreiben muss.

    Dann las ich auch, dass man /usr/bin zb nicht backupen bräuchte. Das sehe ich aber irgendwie anders, da man dort ja doch schon hin und wieder einem Symlink manuell updated.

    Eigentlich macht man das sehr selten. Es gibt ein ~/bin da gehören solche symlinks rein - wenn du sie systemweit zur verfügung stellen willst, dann sorge für ein schönes /etc/skel

    Das gleiche mit /etc. Zb sollte doch m.M.n auch zwingend die xorg.conf gesichert werden - oder lässt sich die auf dem neuen Ssytem nicht 1:1 übernehmen?

    λ sudo du -sh /etc
    9.8M /etc

    Mein ETC auf der workstation ist also weniger als 10 mb gross. Das backuppe ich einfach komplett.

    Also, ich möchte eigentlich, dass ich im Falle eines Systemausfalles nach dem Einspielen des letzten Backups in etwa genau dort weiter machen kann, wo ich aufgehört habe - ohne wieder irgendetwas konfigurieren zu müssen.

    Dann brauchst du sowas wie puppet
    Damit kannst du automatisiert ein system (neu)aufsetzen, deine backups einspielen und das mit einer eingabe.

    Vielleicht kann mit ja einer hier mal einen kurzen Einblick geben.

    Hoffe das hilft.

    /entropie

    --
    Whenever people agree with me I always feel I must be wrong.
      -- Oscar Wilde
  5. Hallo,

    Ich habe gelesen, dass man zb folgende Ordner nicht backupen soll:
    /proc
    /lost+found
    /sys
    /mnt
    /media
    /dev
    Was für mich zugegeben auch einleuchtend erscheint.

    ja, vor allem, weil einige davon nur virtuell existieren und nicht physisch im Filesystem.

    Aber die Ratschläge ausschließlich das home-Verzeichnis zu backupen, finde ich doch etwas untertrieben.

    Ich auch. Sicher, man kann argumentieren, dass man die Systemumgebung und den Softwarebestand auch "from scratch" wieder aufbauen kann. Aber ich halte es doch für einfacher, all das im Katastrophenfall aus einem Backup wieder einzuspielen. Und /etc ist sowieso eines der kostbarsten Verzeichnisse, weil es die individuelle Konfiguration der meisten Systemprogramme und -services enthält.

    Daher ist dies hier nun meine Whitelist:
    /bin
    /boot
    /etc
    /home
    /lib
    /lib64
    /opt
    /run
    /sbin
    /srv
    /var
    /usr

    AFAIK ist /run auch unnötig, weil nicht physisch existierend.

    Ich halte es mit Linux im Grunde genommen wie schon bei Windows. Ich mache die Systempartition (root file system) nicht viel größer als nötig, also etwa 8..10GB. Davon mache ich dann von Zeit zu Zeit ein Backup in Form einer Image-Datei. Die /home-Verzeichnisse liegen bei mir auf der Systempartition; da landen sowieso nur benutzerspezifische Config-Dateien.
    Darüber hinaus habe ich eine separate Partition unter /data, wo ich meine eigentlichen Arbeitsdaten habe. Sowohl /home als auch /data sichere ich tagesaktuell.

    Angenommen mein System verabschiedet sich. Wie hätte ich dann genau vorzugehen?

    Bei mir hieße das:
     * Rechner mit einem Live-System booten
     * Systempartition aus dem letzten Image-Backup wieder einspielen (dauert ein paar Minuten)
     * /home und /data aus dem Backup von gestern wieder einkopieren

    Dann las ich auch, dass man /usr/bin zb nicht backupen bräuchte. Das sehe ich aber irgendwie anders, da man dort ja doch schon hin und wieder einem Symlink manuell updated.

    Macht man das? Hab ich noch nie getan ...

    Das gleiche mit /etc. Zb sollte doch m.M.n auch zwingend die xorg.conf gesichert werden - oder lässt sich die auf dem neuen Ssytem nicht 1:1 übernehmen?

    Du sprichst von Ubuntu - AFAIR benutzt Ubuntu gar keine xorg.conf mehr, sondern ermittelt die Konfiguration bei jedem Start erneut dynamisch. Aber wie ich schon sagte: Ich halte das Verzeichnis /etc und alles darunter auch für kostbar im Sinne eines Backups.

    Also, ich möchte eigentlich, dass ich im Falle eines Systemausfalles nach dem Einspielen des letzten Backups in etwa genau dort weiter machen kann, wo ich aufgehört habe - ohne wieder irgendetwas konfigurieren zu müssen.

    Siehe oben.

    Ach so, und ich möchte auch gerne inkrementell backupen, und auch nicht als Image-File o.ae., so dass ich ggfs. auch manuell ein paar Files wieder in mein System einspielen kann - daher rsync.

    Deswegen fahre ich zweigleisig und unterscheide zwischen System und Benutzerdaten. Abgesehen davon, dass ich die Imagedatei mit dem Abbild des root-Filesystems natürlich auch als virtuellen Datenträger mounten und dann dateiweise darauf zugreifen kann.

    Schönes Wochenende,
     Martin

    --
    F: Wer ist der Herrscher über Wasser, Wind und Wellen?
    A: Der Friseur.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo,

      Hai.

      Macht man das? Hab ich noch nie getan ...

      Das gleiche mit /etc. Zb sollte doch m.M.n auch zwingend die xorg.conf gesichert werden - oder lässt sich die auf dem neuen Ssytem nicht 1:1 übernehmen?

      Du sprichst von Ubuntu - AFAIR benutzt Ubuntu gar keine xorg.conf mehr, sondern ermittelt die Konfiguration bei jedem Start erneut dynamisch. Aber wie ich schon sagte: Ich halte das Verzeichnis /etc und alles darunter auch für kostbar im Sinne eines Backups.

      Auch bei ubuntu (ich benutze es nicht) gibt es ein /etc/X11/xorg.conf.d/, nämlich dann wenn man keinen der "grossen" wms/wes benutzt. Ansonsten meine zustimmung.

      /entropie

      --
      Whenever people agree with me I always feel I must be wrong.
        -- Oscar Wilde
      1. Hi,

        Du sprichst von Ubuntu - AFAIR benutzt Ubuntu gar keine xorg.conf mehr, sondern ermittelt die Konfiguration bei jedem Start erneut dynamisch. Aber wie ich schon sagte: Ich halte das Verzeichnis /etc und alles darunter auch für kostbar im Sinne eines Backups.
        Auch bei ubuntu (ich benutze es nicht) gibt es ein /etc/X11/xorg.conf.d/, nämlich dann wenn man keinen der "grossen" wms/wes benutzt.

        wenn du mir jetzt noch erklären magst, was wms/wes ist ... Window Manager??

        Davon abgesehen: Ich habe vor etwa zwei, drei Jahren mehrere Tage lang versucht, ein Ubuntu (damals 10.04/lucid) so einzurichten, dass es zwei Monitore an zwei getrennten Grafikkarten (onboard+PCI) benutzt. Bei der Gelegenheit habe ich gelernt, dass Ubuntu "normalerweise" keine xorg.conf anlegt. Es ist mir damals übrigens nicht gelungen, mit einer eigenen xorg.conf das Gewünschte zu erreichen. Es endete immer damit, dass der X-Server nicht mehr starten wollte (Meldung: "No screens found") und ich nach dem Booten nur an der Konsole gelandet bin.
        Mit einer neuen Grafikkarte, die selbst zwei Ausgänge hat, ging es plötzlich "out of the box".

        Ciao,
         Martin

        --
        Ungeschehene Ereignisse können einen katastrophalen Mangel an Folgen nach sich ziehen.
          (Unbekannter Politiker)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hi,

          Du sprichst von Ubuntu - AFAIR benutzt Ubuntu gar keine xorg.conf mehr, sondern ermittelt die Konfiguration bei jedem Start erneut dynamisch. Aber wie ich schon sagte: Ich halte das Verzeichnis /etc und alles darunter auch für kostbar im Sinne eines Backups.
          Auch bei ubuntu (ich benutze es nicht) gibt es ein /etc/X11/xorg.conf.d/, nämlich dann wenn man keinen der "grossen" wms/wes benutzt.

          wenn du mir jetzt noch erklären magst, was wms/wes ist ... Window Manager??

          Window manager und window enviroments.

          Davon abgesehen: Ich habe vor etwa zwei, drei Jahren mehrere Tage lang versucht, ein Ubuntu (damals 10.04/lucid) so einzurichten, dass es zwei Monitore an zwei getrennten Grafikkarten (onboard+PCI) benutzt. Bei der Gelegenheit habe ich gelernt, dass Ubuntu "normalerweise" keine xorg.conf anlegt. Es ist mir damals übrigens nicht gelungen, mit einer eigenen xorg.conf das Gewünschte zu erreichen. Es endete immer damit, dass der X-Server nicht mehr starten wollte (Meldung: "No screens found") und ich nach dem Booten nur an der Konsole gelandet bin.
          Mit einer neuen Grafikkarte, die selbst zwei Ausgänge hat, ging es plötzlich "out of the box".

          Ich selbst benutze xmonad. Ich habe nicht die möglichkeit via grafischer tools (komponenten des WMS) meine mausempfindlichkeit umzustellen. Ausserdem benutze ich 3 monitore, die wollen angeordnet sein (ok, das mach ich via xinitrc/xrandr. Ich richte über die xorg.conf.d files, meine tastatur und schriftarten ein. Kann sein das das auch anders geht.

          Und ja; die xorg ist ein bisschen tricky. Vor allem bei multimonitor setups. Ein grund mehr sie zu backuppen ;)

          Ciao,
          Martin

          /entropie

          --
          Whenever people agree with me I always feel I must be wrong.
            -- Oscar Wilde
  6. Hallo,

    erst einmal vielen Dank für die vielen Antworten - mir ist dadurch einiges klarer geworden!

    Ich habe mich jetzt auf folgende Blacklist geeinigt:

      
    # Universal excludes  
    ########################  
      
    lost+found  
    ld.so.cache  
      
    # Root file system  
    ########################  
      
    - /bin/  
    - /boot/  
    - /cdrom/  
    - /dev/  
    - /etc/modules.conf  
    - /lib/  
    - /lib64/  
    - /media/  
    - /mnt/  
    - /proc/  
    - /run/  
    - /sbin/  
    - /selinux/  
    - /sys/  
    - /tmp/  
    - /usr/  
    - /var/cache/  
    - /var/crash/  
    - /var/lock/  
    - /var/log/  
    - /var/run/  
    - /var/tmp/  
      
    # Several  
    ########################  
      
    # Backup text files  
    - *~  
    - \#*\#  
      
    # Commonly distributed Mac OS X cache  
    - .DS_Store  
      
    # Commonly distributed Windows cache  
    - Thumbs.db  
      
    # Filters for home dirs  
    ########################  
      
    # Cache  
    - /home/*/.cache/  
      
    # Downloads  
    - /home/*/Downloads/  
      
    # Dropbox  
    - /home/*/Dropbox  
      
    # Temporary files / cache  
    - /home/*/.local/share/Trash  
    - /home/*/.cache  
    - /home/*/.Trash  
      
    # X Windows System  
    - /home/*/.xsession-errors*  
      
    # Common Applications  
    ########################  
      
    # Adobe Reader  
    - /home/*/.adobe/**/AssetCache/  
    - /home/*/.adobe/**/Cache/  
    - /home/*/.adobe/**/Temp/  
    - /home/*/.adobe/**/UserCache.bin  
      
    # Dropbox temp stuff  
    - /home/*/.dropbox/  
    - /home/*/.dropbox-dist/  
      
    # Gimp  
    - /.gimp-*/tmp  
    - /.gimp-*/swap  
      
    # Mozilla Firefox  
    - /home/*/.mozilla/firefox/*/Cache/  
    - /home/*/.mozilla/firefox/*/lock  
    - /home/*/.mozilla/firefox/*/.parentlock  
      
    # Mozilla Thunderbird  
    - /home/*/.mozilla-thunderbird/*/lock  
    - /home/*/.mozilla-thunderbird/*/.parentlock  
      
    # Pidgin (accounts.xml contains passwords in clear text)  
    - /home/*/.purple/accounts.xml  
    
    

    Falls ich bei meiner Lösung trotz eurer Antworten doch noch etwas nicht berücksichtigt haben sollte, würde ich mich über eine Rückmeldung freuen.

    MfG
    Christopher

    1. Ach so, eine Frage hätte ich noch.
      Ich habe /opt und /home auf verschiedene Partitionen gepackt.
      Gebe ich / als source directory bei rsync an, so werden die Verzeichnisse (/opt,/home) zwar erstellt, jedoch bei dem Backup nicht berücksichtigt.
      Gibt es ein spezielles Argument was ich beim rsync-call angeben kann?
      Meine aktuelle Lösung ist:

        
      rsync -axPv --exclude-from ${exclude_file} ${link_dest} / /home /opt ${current_bak_dest_dir}  
      
      

      Erwünscht wäre:

        
      rsync -axPv --exclude-from ${exclude_file} ${link_dest} / ${current_bak_dest_dir}  
      
      

      Danke & MfG
      Christopher

      1. Tach!

        Ich habe /opt und /home auf verschiedene Partitionen gepackt.
        Gebe ich / als source directory bei rsync an, so werden die Verzeichnisse (/opt,/home) zwar erstellt, jedoch bei dem Backup nicht berücksichtigt.

        Ja, die Verzeichnisse selbst gehören schließlich dem /-System, nur der Inhalt liegt in den jeweils anderen Filesystemen.

        Gibt es ein spezielles Argument was ich beim rsync-call angeben kann?
        Meine aktuelle Lösung ist:
        rsync -axPv --exclude-from ${exclude_file} ${link_dest} / /home /opt ${current_bak_dest_dir}

        Vielleicht musst du auch etwas weglassen. Schau mal in die man-Page, was die angegebenen Parameter alles machen.

        Ich würde das allerdings so lassen, weil es mir einfacher erscheint, ein bewusst hinzugefügtes neues Dateisystem auch noch dem Backup-Script hinzuzufügen als dass unbewusst gemountete Systeme gesichert werden.

        dedlfix.

        1. Hallo,

          Ja, die Verzeichnisse selbst gehören schließlich dem /-System, nur der Inhalt liegt in den jeweils anderen Filesystemen.

          OK, das klingt logisch.

          Ich würde das allerdings so lassen, weil es mir einfacher erscheint, ein bewusst hinzugefügtes neues Dateisystem auch noch dem Backup-Script hinzuzufügen als dass unbewusst gemountete Systeme gesichert werden.

          Ja, da hast Du eigentlich recht - so ist es ersichtlicher.

          Danke & MfG
          Christopher