Parece que Time Machine no hace una copia de seguridad de system.log en / private / var / log.
Mac OS X 10.9.5 / Six core Intel Xeon
¿Puedo forzar la copia de seguridad de ese archivo?
Parece que Time Machine no hace una copia de seguridad de system.log en / private / var / log.
Mac OS X 10.9.5 / Six core Intel Xeon
¿Puedo forzar la copia de seguridad de ese archivo?
De forma predeterminada, el contenido del directorio /private/var/log
se excluye de las copias de seguridad de Time Machine. Sin embargo, esto se puede cambiar para incluir el contenido, ya que este es un archivo del sistema. Probablemente sea más prudente hacer una copia de seguridad de los archivos excluidos de los que le gustaría tener una copia de seguridad copiando los archivos en una ubicación que se incluye en las copias de seguridad de Time Machine. Dicho esto, sin embargo, no estoy de acuerdo con la declaración de cppl "Dado que cambiar los archivos centrales siempre es una mala idea" porque cuando se hace correctamente y con el conocimiento y la comprensión de lo que uno está haciendo, ¡no es un problema!
Si realmente desea incluir el directorio /private/var/log
en sus copias de seguridad de Time Machine, esto es lo que puede hacer. Para hacer esto más fácil y seguro, recomiendo usar este script probado. Primero realiza una copia de seguridad del paquete y de la lista y solo elimina /private/var/log
si se encuentra en su ubicación predeterminada dentro del archivo .plist. Nota: este script debe ejecutarse utilizando sudo
o como root
.
En una terminal:
touch modtm
open modtm
En el documento de modtm abierto:
Copie y pegue el código que se muestra a continuación en el documento y guárdelo, luego ciérrelo.
De vuelta en la Terminal, haga el script ejecutable:
chmod u+x modtm
Ahora con el script listo para ejecutarse, en la Terminal:
sudo ./modtm
Ingrese su contraseña, que no se mostrará a medida que la escriba, y luego presione Intro.
Si los valores predeterminados estaban en juego, /private/var/log
debería haberse eliminado de forma segura, en virtud de la primera copia de seguridad, desde el archivo StdExclusions.plist .
Código:
#!/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
Imagen que muestra resaltado sintáctico:
Nota:estasecuenciadecomandosnosepuedeejecutarenOSX10.11amenosque
No, desafortunadamente, mientras que la Máquina del tiempo estándar le permite excluir directorios, no hay una manera de incluir directorios.
Incluso la utilidad de línea de comandos no sirve de ayuda tmutil
: de nuevo, todo lo que puede hacer es excluir directorios.
Si realmente necesitas una copia de seguridad del contenido de /private/var/log
, te sugiero que uses una secuencia de comandos simple para copiar el directorio en una ubicación en la que se haga una copia de seguridad.
Para copiar los archivos periódicamente, puede usar Automator o simple script bash con un solo rsync
llamar como:
rsync -ar --delete /private/var/log/ /Users/yourusername/Documents/logbackups/
Tenga en cuenta algunos subdirectorios pueden presentar problemas debido a los permisos predeterminados ... como este:
drwx------ 3 root wheel 102 17 Sep 15:30 com.apple.revisiond
A partir de los comentarios de las pruebas a continuación, probé /private/var/log' directory with
tmutil 'y obtenemos:
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
Entonces, a menos que modifique los archivos sugeridos por @ user3439894 a través de las herramientas y la interfaz de usuario estándar, no hay manera de hacerlo. Dado que cambiar los archivos principales siempre es una mala idea, los copiaría en una ubicación ya incluida. (Aparte de cualquier otra cosa, las actualizaciones del sistema o la integridad de Time Machine pueden revertir sus cambios).
Lea otras preguntas en las etiquetas macos mavericks time-machine backup logs