tarでCentOS全体をバックアップしているときにエラーが発生する


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

そして、私はこのエラーを受けています。私は2回試しました

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コマンドが正常に完了していることに注意してください。ソケットエントリについて不平を言っているだけです。Tiffanyは、これらの特定のエラーメッセージを除外するメカニズムを提案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(別名--exclude-from)に置き換えて、ファイルにリストするだけで、コマンドラインを短くすることもできます。


私も除外する必要が/runありますか?
ar2015

の標準エラーはfind / -type s -print > /tmp/sockets-to-excludeどこかにリダイレクトする必要があります(例:)/dev/null。それ以外の場合は、検索中に作成された一部のファイルが存在しないという苦情を見つけます。
ハビエルアリアス

16

事実はtarは成功しているが、それらのソケットファイルが無視されるという警告を出力する

GNU tarは実際には警告を抑制するオプションを提供します。以下のコマンドを使用して、「ソケットが無視されました」エラーを無視できます。これにより、完了に時間がかかる可能性のあるfindコマンドの実行を回避できます。

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

このリンクには詳細があります


9

ソケットは、デーモンプロセスが相互に通信するために使用するゼロレベルのファイルです。デーモンが起動および停止するときに、必要に応じて作成および破棄されます。それらは無視しても問題ありません。

あなたはいつでもそれらを取り除くことができます tar <my_options> 2> >(grep -v 'socket ignored' >&2)


私はuがソケットを無視して、私のタールの実行OKが出ずになることを意味しています、理解していなかった
user1865341
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.