Es scheint, dass Time Machine system.log in /private/var/log nicht sichert.
Mac OS X 10.9.5/Intel Xeon mit sechs Kernen
Kann ich erzwingen, dass diese Datei gesichert wird?
Standardmäßig /private/var/log
ist der Inhalt des Verzeichnisses von Time Machine-Sicherungen ausgeschlossen. Dies kann geändert werden, um den Inhalt einzuschließen, da es sich jedoch um eine Systemdatei handelt, ist es wahrscheinlich klüger, die ausgeschlossenen Dateien, die Sie sichern möchten, zu sichern, indem Sie die Dateien an einen Speicherort kopieren, der in Time Machine-Sicherungen enthalten ist. Allerdings stimme ich der Aussage von cppl nicht zu, "da das Ändern von Kerndateien immer eine schlechte Idee ist", denn wenn es richtig gemacht wird und mit dem Wissen und Verständnis dessen, was man tut, ist es einfach kein Problem!
Wenn Sie das Verzeichnis wirklich in Ihre Time Machine-Sicherungen aufnehmen möchten, /private/var/log
können Sie Folgendes tun. Um dies einfacher und sicherer zu machen, würde ich empfehlen, dieses getestete Skript zu verwenden. Es sichert zuerst das Bundle und die Plist und entfernt es nur, /private/var/log
wenn es sich an seinem Standardspeicherort in der .plist-Datei befindet. Hinweis: Dieses Skript muss mit sudo
oder als ausgeführt werden root
.
In einem Terminal:
touch modtm
open modtm
Im geöffneten modtm-Dokument:
Kopieren Sie den unten gezeigten Code und fügen Sie ihn in das Dokument ein, speichern Sie es und schließen Sie es dann.
Zurück im Terminal machen Sie das Skript ausführbar:
chmod u+x modtm
Jetzt mit dem zur Ausführung bereiten Skript im Terminal:
sudo ./modtm
Geben Sie Ihr Passwort ein, das während der Eingabe nicht angezeigt wird, und drücken Sie dann die Eingabetaste.
Wenn Standardwerte im Spiel waren, /private/var/log
sollten sie sicher entfernt werden, indem zuerst eine Sicherung aus der Datei StdExclusions.plist durchgeführt wurde .
Code:
#!/bin/bash
set -ex
# Make sure script was run using 'sudo' or by 'root'.
if [[ $(id -u) != 0 ]]; then
echo "This script must be run as root." 1>&2
exit 1
else
# Set variables.
b="/System/Library/CoreServices/backupd.bundle"
f="/System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist"
e="/private/var/log"
# Backup, by copy, both the bundle and plist.
[[ ! -d ${b%%.*}.ORI.${b##*.} ]] && cp -aR "$b" "${b%%.*}.ORI.${b##*.}"
[[ ! -f $f.ORI ]] && cp -a "$f" "$f.ORI"
# Get the value of the first element of the 'FileContentsExcluded' array.
v="$(/usr/libexec/PlistBuddy -c "Print :FileContentsExcluded:0" "$f")"
if [[ $v == $e ]]; then
# Target value matched, delete it from .plist file.
/usr/libexec/PlistBuddy -c "Delete :FileContentsExcluded:0" "$f"
echo "$e removed from $f"
else
echo "$e not found where expected!"
exit 1
fi
exit 0
fi
Bild mit syntaktischer Hervorhebung:
Hinweis: Dieses Skript kann in OS X 10.11 nicht ausgeführt werden, es sei denn, SIP wird vorübergehend deaktiviert.
Nein, während die standardmäßige Time Machine Sie Verzeichnisse ausschließen lässt , gibt es leider keine Möglichkeit, Verzeichnisse einzuschließen .
Auch das Befehlszeilenprogramm ist keine Hilfe tmutil
- wieder können Sie nur Verzeichnisse ausschließen.
Wenn Sie den Inhalt wirklich /private/var/log
sichern müssen, würde ich vorschlagen, ein einfaches Skript zu verwenden, um das Verzeichnis an einen Ort zu kopieren, an dem gesichert wird.
Um die Dateien regelmäßig zu kopieren, können Sie Automator oder ein einfaches Bash-Skript mit einem einzigen rsync
Aufruf verwenden wie:
rsync -ar --delete /private/var/log/ /Users/yourusername/Documents/logbackups/
Bitte beachten Sie, dass einige Unterverzeichnisse aufgrund von Standardberechtigungen Probleme bereiten können ... wie dieses hier:
drwx------ 3 root wheel 102 17 Sep 15:30 com.apple.revisiond
Aus den Kommentaren durch Testen unten habe ich das /private/var/log' directory with
tmutil` getestet und wir bekommen:
testac:~: tmutil isexcluded /private/var/log/
[Included] /private/var/log/
testac:~: tmutil removeexclusion /private/var/log/
MDSetAttribute(): Removing extended attributes from '/private/var/log' failed errno: Permission denied
Wenn Sie also die von @ user3439894 vorgeschlagenen Dateien nicht über die Tools und die Standardbenutzeroberfläche ändern, gibt es keine Möglichkeit, dies zu tun. Angesichts der Tatsache, dass das Ändern von Core-Dateien immer eine schlechte Idee ist, würde ich sie an einen bereits enthaltenen Speicherort kopieren. (Abgesehen von allem anderen können Systemaktualisierungen oder die Time Machine-Integrität Ihre Änderungen rückgängig machen).
Benutzer3439894
Craig
/private
(oder für diese Materie/system
usw./Library
), dass sie überhaupt nicht "eingeschlossen" oder "ausgeschlossen" sind ...Benutzer3439894
/private/var/log
ist ausdrücklich ausgeschlossen. Auf meinem System ist es das erste Element des FileContentsExcluded- Arrays des Root Dictionary in der StdExclusions.plist der backupd.bundle/private/var/log
und ich würde vermuten, dass das Entfernen es daher dazu führen würde, dass es in ein Time Machine-Backup aufgenommen wird . Ich denke, ich muss es einfach testen und sehen.Benutzer3439894
/private/var/log
die entferntStdExclusions.plist
und dann eine Time Machine-Sicherung erstellt. Es enthielt absolut den Inhalt,/private/var/log
der zuvor nicht gesichert worden war. Ich vermute also nicht mehr, dass das Entfernen dazu führen würde, dass es eingeschlossen wird. Ich kann in diesem Anwendungsfall mit absoluter Sicherheit sagen, dass das Entfernen des Standardausschlusses dazu führt, dass Dateien an/private/var/log
diesem Ort gesichert werden, die zuvor nicht von Time Machine gesichert wurden!Craig
tmutil
das Verzeichnis ausschließen könnten - lassen Sie mich nachsehen)Craig
tmutil
lässt Sie den Ausschluss nicht entfernen … es wird ein Fehler bei der Berechtigung für erweiterte Attribute ausgegeben.