Fehler beim Sichern ganzer Centos mit Teer

10

Ich versuche diesen Befehl

tar cvpzf /TEMP_BACKUPS/backup.tgz --exclude=/proc --exclude=/lost+found  --exclude=/tmp --exclude=/TEMP_BACKUPS --exclude=/mnt --exclude=/sys / > /TEMP_BACKUPS/mylog.txt

und ich bekomme diesen Fehler. Ich habe es zweimal versucht

tar: Removing leading `/' from member names
tar: /dev/log: socket ignored
tar: Removing leading `/' from hard link targets
tar: /selinux/policy: Cannot open: Invalid argument
tar: /var/spool/postfix/public/flush: socket ignored
tar: /var/spool/postfix/public/cleanup: socket ignored
tar: /var/spool/postfix/public/showq: socket ignored
tar: /var/spool/postfix/private/defer: socket ignored
tar: /var/spool/postfix/private/virtual: socket ignored
tar: /var/spool/postfix/private/proxywrite: socket ignored
tar: /var/spool/postfix/private/verify: socket ignored
tar: /var/spool/postfix/private/anvil: socket ignored
tar: /var/spool/postfix/private/lmtp: socket ignored
tar: /var/spool/postfix/private/bounce: socket ignored
tar: /var/spool/postfix/private/relay: socket ignored
tar: /var/spool/postfix/private/scache: socket ignored
tar: /var/spool/postfix/private/retry: socket ignored
tar: /var/spool/postfix/private/error: socket ignored
tar: /var/spool/postfix/private/rewrite: socket ignored
tar: /var/spool/postfix/private/tlsmgr: socket ignored
tar: /var/spool/postfix/private/local: socket ignored
tar: /var/spool/postfix/private/discard: socket ignored
tar: /var/spool/postfix/private/trace: socket ignored
tar: /var/spool/postfix/private/smtp: socket ignored
tar: /var/spool/postfix/private/proxymap: socket ignored
tar: /var/lib/mysql/mysql.sock: socket ignored
tar: /var/www/html/run/wsgi.1458.0.1.sock: socket ignored
tar: /var/www/html/run/wsgi.4861.1.1.sock: socket ignored
tar: /var/www/html/run/wsgi.1178.0.1.sock: socket ignored
tar: /var/www/html/run/wsgi.1179.0.1.sock: socket ignored
tar: /var/run/dbus/system_bus_socket: socket ignored
tar: /var/run/abrt/abrt.socket: socket ignored
tar: /var/run/rpcbind.sock: socket ignored
tar: /var/run/portreserve/socket: socket ignored
tar: /var/run/nscd/socket: socket ignored
tar: Exiting with failure status due to previous errors

Was muss ich tun, um eine vollständige Sicherung zu erstellen?

user1865341
quelle

Antworten:

14

Beachten Sie, dass Ihr tarBefehl erfolgreich ausgeführt wird. es beschwert sich nur über die Socket-Einträge. Tiffany schlägt einen Mechanismus zum Herausfiltern dieser bestimmten Fehlermeldungen vor, der tarjedoch weiterhin mit einem Fehlercode beendet wird.

Sie können auch eine Liste von Sockets in tardie -XOption einspeisen, um sie von der Sicherung auszuschließen, z.

# find / -type s -print > /tmp/sockets-to-exclude
# tar cvpzf /TEMP_BACKUPS/backup.tgz -X /tmp/sockets-to-exclude \
  --exclude=/proc --exclude=/lost+found  --exclude=/tmp \
  --exclude=/TEMP_BACKUPS --exclude=/mnt --exclude=/sys / > /TEMP_BACKUPS/mylog.txt

Der Vorteil dieser Technik besteht darin, dass der tarExit-Code dadurch nützlicher wird (dh Sie können den Exit-Code verwenden, um zu entscheiden, ob die Sicherung erfolgreich abgeschlossen wurde oder nicht).

Sie können Ihre Befehlszeile auch verkürzen, indem Sie Ihre anderen --excludeOptionen durch eine einzelne -X(auch bekannt als --exclude-from) ersetzen und sie einfach in einer Datei auflisten.

Larsks
quelle
soll ich auch ausschließen /run?
ar2015
Der Standardfehler von find / -type s -print > /tmp/sockets-to-excludesollte irgendwo umgeleitet werden (z. B. /dev/null), andernfalls finden Sie Beschwerden, dass einige während der Suche erstellte Dateien nicht vorhanden sind.
Javier Arias
16

Tatsache ist, dass tar erfolgreich ist, aber eine Warnung druckt, dass diese Socket-Dateien ignoriert werden

GNU tar bietet tatsächlich eine Option zum Unterdrücken von Warnungen. Sie können die Fehler "Socket ignoriert" mit dem folgenden Befehl ignorieren, wodurch vermieden wird, dass ein Suchbefehl ausgeführt wird, dessen Ausführung lange dauern kann.

tar --warning='no-file-ignored' -cpzf  backup_name.tar.gz  /folder_to_backup

Dieser Link enthält weitere Details

Aravinth C.
quelle
9

Sockets sind Dateien auf Nullebene, die von Dämonprozessen zur Kommunikation miteinander verwendet werden. Sie werden nach Bedarf erstellt und zerstört, wenn die Dämonen starten und stoppen. Sie können ignoriert werden.

Sie können sie immer mit loswerden tar <my_options> 2> >(grep -v 'socket ignored' >&2)

Tiffany Walker
quelle
Ich habe nicht verstanden, meinst du, dass durch Ignorieren von Sockets mein Teer ohne Beenden in
Ordnung