Il semble que Time Machine ne sauvegarde pas system.log dans /private/var/log.
Mac OS X 10.9.5/Six core Intel Xeon
Puis-je forcer ce fichier à être sauvegardé ?
Il semble que Time Machine ne sauvegarde pas system.log dans /private/var/log.
Mac OS X 10.9.5/Six core Intel Xeon
Puis-je forcer ce fichier à être sauvegardé ?
Par défaut, le contenu du fichier /private/var/log
est exclu des sauvegardes Time Machine. Cela peut être modifié pour inclure le contenu, mais comme il s'agit d'un fichier système, il est probablement plus prudent de sauvegarder les fichiers exclus que vous souhaitez avoir sauvegardés en copiant les fichiers à un emplacement qui est inclus dans les sauvegardes Time Machine. Ceci dit, je ne suis pas d'accord avec la déclaration de cppl. "Étant donné que changer les fichiers de base est toujours une mauvaise idée" car lorsqu'il est fait correctement et avec la connaissance et la compréhension de ce que l'on fait, ce n'est tout simplement pas un problème !
Si vous voulez vraiment inclure /private/var/log
dans vos sauvegardes Time Machine, voici ce que vous pouvez faire. Pour rendre cela plus facile et plus sûr, je vous recommande d'utiliser ce script testé. Il sauvegarde d'abord le bundle et le plist et supprime uniquement les éléments suivants /private/var/log
s'il se trouve à son emplacement par défaut dans le fichier .plist. Remarque : Ce script doit être exécuté à l'aide de la fonction sudo
ou comme root
.
Dans un terminal :
touch modtm
open modtm
Dans le document modtm ouvert :
Copiez et collez le code ci-dessous dans le document et enregistrez-le, puis fermez-le.
De retour dans le Terminal, rendez le script exécutable :
chmod u+x modtm
Maintenant avec le script prêt à être exécuté, dans le Terminal :
sudo ./modtm
Saisissez votre mot de passe, qui ne s'affichera pas au fur et à mesure que vous le tapez, puis appuyez sur Entrée.
Si les défauts étaient en jeu, alors /private/var/log
devrait avoir été retiré en toute sécurité, en vertu de la première sauvegarde, de la StdExclusions.plist fichier.
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
Image montrant la mise en évidence syntaxique :
Note : Ce script ne peut pas être exécuté sous OS X 10.11, sauf si SIP est temporairement désactivé.
Non, malheureusement, alors que le Time Machine standard vous laisse exclure il n'y a pas de moyen de inclure les répertoires.
Même l'utilitaire de ligne de commande n'est d'aucune aide. tmutil
- Encore une fois, tout ce que vous pouvez faire est d'exclure des répertoires.
Si vous avez vraiment besoin du contenu de /private/var/log
sauvegardé alors je suggérerais d'utiliser un simple script pour copier le répertoire à un emplacement qui est sauvegardé.
Pour copier les fichiers périodiquement, vous pouvez utiliser Automator ou un simple bash script avec un simple rsync
appeler comme ça :
rsync -ar --delete /private/var/log/ /Users/yourusername/Documents/logbackups/
Veuillez noter certains sous-répertoires peuvent présenter des problèmes en raison des permissions par défaut comme celui-ci :
drwx------ 3 root wheel 102 17 Sep 15:30 com.apple.revisiond
A partir des commentaires en testant ci-dessous, j'ai testé le /private/var/log' directory with
tmutil` et nous obtenons :
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
Donc, à moins que vous ne vouliez modifier les fichiers suggérés par @user3439894 via les outils et l'interface utilisateur standard, il n'y a aucun moyen de le faire. Étant donné que la modification des fichiers de base est toujours une mauvaise idée, je les copierais dans un emplacement déjà inclus. (En dehors de toute autre chose, les mises à jour du système ou l'intégrité de Time Machine peuvent inverser vos changements).
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.