rsyncのPermission deniedエラーの意味と解決方法について

このQ&Aのポイント
  • rsyncコマンドを実行した際にPermission deniedエラーが発生しました。
  • パーミッションエラーが出たにもかかわらず、データのコピーは完了していました。
  • コピー元ファイルとコピー後のデータを比較した結果、エラーもなくサイズも一致していました。
回答を見る
  • ベストアンサー

rsyncのPermission denied

CentOS6.3にて rsync -avvz root@172.30.1.21:/mnt/iptables/ /mnt/nas/iptables/ を実行しました。ログとして以下のものが出力されました。 <ログ> opening connection using: ssh -l root 172.30.1.21 rsync --server --sender -vvlogDtprze.iLs . /mnt/iptables/ root@172.30.1.21's password: receiving incremental file list delta-transmission enabled (1)rsync: chgrp "/mnt/nas/iptables/." failed: Permission denied (13) <質問1> (1)の意味がわからないのですが、rsyncは何をしようとしてなぜパーミッションエラーが出ているのでしょうか?  ・root@172.30.1.21:/mnt/iptables/ は、別サーバのNFSをマウントしています。  ・/mnt/nas/iptables/ は、NASドライブをcifstestユーザでマウントしています。  【コマンド:mount -t cifs //NASのIP/cifs/ /mnt/nas/iptables/ -o username=cifsuser,iocharset=utf8,codepage=932】  (NASにrootユーザが作れなかったため)  ・rsync実行時は、rootユーザー。 になります。 <質問2> ただ、パーミッションエラーが出てたのですが、以下ログが出力されており、 データのコピーが完了していました。 total: matches=0 hash_hits=0 false_alarms=0 data=3999447313 sent 546 bytes received 493957830 bytes 1123909.84 bytes/sec total size is 3999426304 speedup is 8.10 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1505) [generator=3.0.6] ためしにコピーされた一つのコピー元ファイル と コピー後のデータをdiffしてみた所 エラーも出ませんでした。サイズも一緒。 これは正しくコピーできていると信じていいのでしょうか? ご教授おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#208507
noname#208507
回答No.1

確証はないですが、 1. エラーメッセージに "rsync: chgrp ~" とあるなら、所有グループのファイル属性を変更しようとして失敗しているのではないでしょうか。コピー先に同じIDのグループが無いなどの理由で。  $ man chgrp で chgrp コマンドのマニュアルが見られます。 2. rsync error: some files/attrs were not transferred (see previous errors) このエラーは、ファイルの属性(1のこと)を言っているのではないかと思います。 もしかすると  $ ls -l でファイルの属性を見ると、ファイル所有者のグループ名が違うのではないでしょうか?

kureakai
質問者

お礼

>ファイルの属性を見ると、ファイル所有者のグループ名が違うのではないでしょうか? -rwx-w--w-. 1 1002 499 94 1月 22 21:17 2013 test.gz 確かにcifsmountしているユーザがrootではないため、エラーが出てるかもしれません。 情報ありがとうございました。

関連するQ&A

  • 複雑なrsync

    WindowsStrageServer2012版テラステーション内に共有フォルダを作成し(home) このテラステーションを同じネットワーク内のWindowsServer2008R2のPCの ActiveDirectoryのドメインに参加して、アクセス制御しています。 このフォルダを、CentOSのディレクトリにcifsでマウントし、(/Backup/home) mount -t cifs -o username=administrator,pass=パスワード //テラステーションサーバーIPアドレス/home /backup/home CentOS PC内の、ユーザーフォルダ/homeのデータをrsyncしようとしているのですが、 コマンドは以下の通りです。 rsync -av /home/ /backup/home >> /backup/home.log rsync: failed to set times on "/backup/home/.": Permission denied (13) と表示されて、同期できません Permission deniedなので、テラステーション側の共有のアクセス権をEveryoneに設定してみたのですが、うまくいきませんでした。(このフォルダはadministratorでも読み書き可に設定されています。) 考えられる原因は何でしょうか? ちょっと複雑な構成なので、参考文献を探しているのですが、見つけることができません。 よろしくお願いします

  • rsync -vr /home/data /mnt/win >> backup.logのリダイレクトの日本語表示について

    centos5 にて Samba version 3.0.28-1.el5_2.1 を運用中です、 Sambaのデータを他のwindowsパソコンのフォルダ(//192.168.0.5/backup)にバックアップするために以下のようなシェルスクリプトを書きcronで実行しています。 #!/bin/bash echo 'バックアップ日' > backup.log date >> backup.log mount -t cifs -o username=root,password=abcd //192.168.0.5/backup /mnt/win echo 'マウント完了' >> backup.log rsync -vr /home/data /mnt/win >> backup.log cronにて自動実行された後backup.logを覗いてみると バックアップ日やマウント完了という文字はきちんと日本語になってリダイレクト されているのですが、 rsync -vr /home/data /mnt/win >> backup.log の結果のログがアルファベットはいいのですが、日本語のフォルダ名やファイル名が#944\#948\#492\#483\#309といった感じ何かのコードみたいになって 何がバックアップされたか分かりません。 きちんと日本語の表記になる方法があればお教え願います。

  • パーミッションが変更できない

    前の質問から主旨が変わったので、新たに質問を作成させていただきました。 FedoraCore2で自宅サーバーを運営していますが、ユーザーでデータが書き込めず、困っています。 現在のパーミッションの構成が /mnt(777)/hdd(755)/user(755)/ユーザー名(755) と、書き込みの許可されていないパーミッションが原因であると解釈し、パーミッションの変更を試みました。 ところが、FFFTPを使いrootでログイン、その後、属性変更から777にしても、Linux機に直接ログインして chmod 777 /mnt/hdd としても、ls -ld /mnt/hddとすると drwxr-xr-x 3 root root … と表示されてやはり変更されていませんでした。 さらに、766に変更しようとすると、744になってしまい、どうしても書き込み許可のパーミッションに変更することができませんでした。 原因がまったく分からないのですが、原因や解決策をご存じの方、どんな些細なことでもかまいませんので、ご教授いただければ幸いです。 宜しくお願いいたします。

  • rsyncやSSH接続ができません。

    ■rsyncがRSHでなく必ずSSH接続になってしまいます。 環境変数RSYNC_RSHもないのですが何故でしょうか? なおPort番号は22ではなく220をSSHにしています。 rsync -avz /home/test backup-server:/home/backup ssh: connect to host backup-server port 22: Connection refused rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) ■仕方なくSSHで接続しようと試みましたが今度はパーミッションエラーでした。 SSHのバージョンはサーバーは2で、クライアントはCentOS4.1ですがSSHの バージョンがわからない状態です。 SSHのバージョンはどう調べれば良いでしょうか? sync -avz -e "ssh -p 220 -oHostKeyAlias=test-server" /home/backup backup-server:/home/backup Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) なお、authorized_keysは、id_rsa.pubからコピーしてあり、644。 known_hostsには、test-serverは入っていて、644です。

  • permission denied

    以前インストールしたソフトを起動させようとアプリケーションをクリックしたところ、 logファイルに「permission denied」というエラーメッセージが出ます。 そこで、管理者として再ログインし直して実行してみたところ、実行出来ました。 ただ、ユーザーアカウント(Administrator)でログインアイコンの右クリックで”管理者として実行”では無理の様です。 以前は実行出来ていたのに・・・ どうにかユーザーアカウントでも実行出来るようにならないでしょうか? OCはWindows Vistaです。

  • cron で rsync が実行できない

    サーバ2台を使い rsync にて 同期をとっているのですが、 cron を使って自動化しようとしたところ ツマづいてしまいました。 rsync -au -e ssh {from} {to} 手動にて上記実行するとコピー実行できるのですが * * * * * rsync -au -e ssh {from} {to} >> err と crontab を設定したところ コピーが出来ていません。 /var/log/cron をみると1分置きに (root) CMD (rsync -au -e ssh {from} {to} >>err) とあり実行はされているようです err を確認しましたが特にエラー記述もありませんでした。 どういった箇所を調べればよいか助言いただけると助かります。 よろしくお願いします。

  • シェルスクリプトで標準エラーが出たらスクリプトを停止させる方法は?

    centOS 5で] 以下のようなシェルスクリプトを実行させています。 #!/bin/bash mount -t cifs -o username=root,password=abcd //192.168.0.5/backup /mnt/win rsync -vr /home/data /mnt/win >> backup.log 上のシェルスクリプトでもしmountが失敗したらスクリプトを停止させる方法を 探しています、どなたかご教授願います。

  • rsync実行でmkdirエラー

    rsyncコマンドでs1/s2/s3/a.txtというファイルをd1/s2/s3/にコピーしようとしているのですが ※d1ディレクトリはあるがd1/s2ディレクトリ、d1/s2/s3ディレクトリは存在していない。 $ rsync -avzu --delete s1/s2/s3/a.txt d1/s2/s3/ building file list ... done rsync: mkdir "/home/hogehoge/d1/s2/s3" failed: No such file or directory (2) rsync error: error in file IO (code 11) at main.c(381) rsync: connection unexpectedly closed (8 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) エラーが出てしまいます。 $ rsync -avzu --delete s1/a.txt d1/s2/ building file list ... done created directory d1/s2 a.txt sent 124 bytes received 40 bytes 109.33 bytes/sec total size is 6 speedup is 0.04 成功します。 d1/s2/s3の場合でもディレクトリが作成されてコピーできるようにするにはどうしたら良いでしょうか? OSはLinuxです。

  • マウント先の権限を変更するには

    mount -t cifsでNASをmountしました。 ところがsuでmountしたためか、マウントポイント以下がroot権限になっていて、通常のユーザがそこに書き込めません。 mountの後からsuでchown、chgrpしようとしても拒否されます。 どうすれば、cifsでmountしたところに書き込めるでしょうか。 Redhatです。よろしくお願いします。

  • rsyncの動作について

    CentOS6を使用しています Windows版のTerastationをCentOS6のサーバーにマウントし、 rsync -avを使って CentaOS6のデータをTerastationにバックアップを取ろうとしているのですが Permission denied (13) と表示されます。 この場合バックアップ元とバックアップ先の所有者が違うからだということでしたので、 所有者を同じになるよう変更しました ここでちょっとわからないことがあるのですが、 所有者を変更したディレクトリのなかの、ディレクトリやファイルは、 変更しないでも同期になりますか? よろしくお願いします