Rsyncを実行するために別の場所にコピーできないファイルを見つけたいです。外付けハードドライブとシステムのハードドライブがあります。外付けハードドライブに私のシステムから欠落しているファイルがあります。どうすればいいのか気になります。
権限が拒否されたファイル/ディレクトリを見つけることができます。 - メッセージ
find / ! -perm /u+r
権限はいくつありますか?
drwx------ 1 501 root 6 Oct 22 2014 PortableCV_WebCruiter_20141022
次のコマンドが機能します。コマンドライン fu.com、ここではリモートデータを外付けハードドライブとして扱うことができるからです。
rsync --rsync-path 'sudo rsync' username@source:/folder/ /local/
どの
sudoを使用してrootとしてリモートデータを再同期するユーザーがリモートシステムにsudoを持っている場合は、rootとしてログインしなくてもrootとしてデータを再同期できます。これは、リモートシステムがSSHを介したルートログインを許可しない場合に便利です(一般的なセキュリティ制限)。
外付けハードドライブとシステムハードドライブの間で権限拒否の問題があるファイルを同期する方法は?
ベストアンサー1
読み取れないファイルをスキップするには:
find /external/hd/folder ! -readable -print >unreadable_files
rsync -a --exclude-from=unreadable_files /external/hd/folder/ /local/folder
これはGNUを使用しておりfind
、ファイル名に改行文字が含まれていないと仮定します。
外部ディスクから読み取れるかどうかに関係なく、すべてのファイルをコピーするには、次の手順を実行します。
sudo rsync -a /external/hd/folder/ /local/folder
sudo chown -R masi:masi /local/folder
sudo rsync
これは、およびを実行するのに十分な権限があると仮定しますsudo chown
。