รับข้อผิดพลาดขณะทำการสำรองข้อมูลของ centos ทั้งหมดด้วย tar


10

ฉันลองคำสั่งนี้

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

และฉันได้รับข้อผิดพลาดนี้ ฉันลองสองครั้งแล้ว

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

ฉันต้องทำอย่างไรเพื่อสำรองข้อมูลทั้งหมด

คำตอบ:


14

โปรดทราบว่าtarคำสั่งของคุณเสร็จสมบูรณ์แล้ว เป็นเพียงแค่บ่นเกี่ยวกับรายการซ็อกเก็ต ทิฟฟานี่กำลังแนะนำกลไกสำหรับการกรองข้อความแสดงข้อผิดพลาดเฉพาะเหล่านั้นแม้ว่าtarจะยังคงออกด้วยรหัสข้อผิดพลาด

นอกจากนี้คุณยังสามารถป้อนรายการซ็อกเก็ตtarของ-Xตัวเลือกเพื่อแยกออกจากการสำรองข้อมูลเช่น:

# 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

ข้อดีของเทคนิคนี้คือทำให้tarรหัสการออกมีประโยชน์มากขึ้น (นั่นคือคุณสามารถใช้รหัสออกเพื่อตัดสินใจว่าการสำรองข้อมูลเสร็จสมบูรณ์หรือไม่)

คุณสามารถย่อบรรทัดคำสั่งของคุณให้สั้นลงได้โดยแทนที่--excludeตัวเลือกอื่น ๆด้วยตัวเดียว-X(aka --exclude-from) และเพียงแค่ใส่รายชื่อลงในไฟล์


ฉันควรแยกออก/runเช่นกัน?
ar2015

ข้อผิดพลาดมาตรฐานของfind / -type s -print > /tmp/sockets-to-excludeควรถูกเปลี่ยนเส้นทางที่อื่น (เช่น/dev/null) มิฉะนั้นค้นหาคำร้องเรียนว่าไฟล์บางไฟล์ที่สร้างขึ้นระหว่างการค้นหาไม่มีอยู่
Javier Arias

16

ความจริงคือ tar สำเร็จ แต่พิมพ์คำเตือนว่าไฟล์ซ็อกเก็ตเหล่านั้นจะถูกละเว้น

GNU tar จริง ๆ แล้วมีตัวเลือกในการระงับคำเตือน คุณสามารถละเว้นข้อผิดพลาด "ซ็อกเก็ตละเว้น" โดยใช้คำสั่งด้านล่างซึ่งหลีกเลี่ยงการเรียกใช้คำสั่งค้นหาที่อาจใช้เวลานานในการดำเนินการให้เสร็จสมบูรณ์

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

ลิงค์นี้มีรายละเอียดเพิ่มเติม


9

ซ็อกเก็ตเป็นไฟล์ระดับศูนย์ที่ใช้โดยกระบวนการ daemon เพื่อสื่อสารซึ่งกันและกัน พวกมันถูกสร้างและทำลายตามความจำเป็นเมื่อ daemons เริ่มต้นและหยุด พวกเขาสามารถละเว้นได้อย่างปลอดภัย

คุณสามารถกำจัดพวกเขาด้วย tar <my_options> 2> >(grep -v 'socket ignored' >&2)


ฉันไม่เข้าใจทำคุณหมายความว่าโดยไม่สนใจซ็อกเก็ต tar ของฉันจะทำงานหรือไม่โดยไม่ต้องออก
user1865341
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.