私はそれをrsnapshot
バックアップを管理するために使用します。ファイルは/home/foo/bar
フォルダへのシンボリックリンクなので除外したいです。--exclude
パターンがaで終わると、/
シンボリックリンクではなくディレクトリだけが一致するため、このオプションは効果がありません。
どうすればいいですか?
マニュアルrsync
ページには次のように記載されています。
パターンがaで終わる場合、
/
通常のファイル、シンボリックリンク、またはデバイスではなくディレクトリのみが一致します。
だから私が尋ねるのは:rsnapshot
フォルダからシンボリックリンクをどのように除外しますか?
リンクがある場合、/home/foo/bar
次の設定行のうち正しいものは何ですか?
exclude /home/foo/bar/
exclude /home/foo/bar
exclude /home/foo/bar**
exclude /home/foo/bar***
これは私が今使っている設定ファイルです。
config_version 1.2
snapshot_root /media/satellite/rsnapshot/
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_logger /usr/bin/logger
retain hourly 6
retain daily 7
retain weekly 4
verbose 2
loglevel 3
lockfile /var/run/rsnapshot.pid
exclude /home/roberto/media/
exclude /home/roberto/media
exclude /home/roberto/media**
exclude /home/roberto/media***
backup /home/ localhost/
backup /etc/ localhost/
backup /usr/local/ localhost/
backup /var/www/ localhost/
/home/roberto/media
シンボリックリンク/media
、つまりディレクトリはどこにありますか?
答え1
設定ファイルで、またはを設定しない限り、をrsync_short_args
使用してコピーを実行します。rsync_long_args
rsnapshot
rsync -a
基本的なアクションは、rsync -a
シンボリックリンクをシンボリックリンクにコピーし、シンボリックリンクの宛先を無視することです。 (明らかに、シンボリックリンクの宛先がソースファイルツリーにある場合はコピーされますが、これは埋め込みシンボリックリンクの宛先ではないためです)。
シンボリックリンク自体を除外するには、1行に引用しますexclude
。
exclude /foo/bar
/home
リーダーはソースツリーのルートであり、フィルタは常にソースのルートに基づいているため含まれていません。