rsnapshot - バックアップポイントごとのパラメータを追加すると障害が発生しますか?

rsnapshot - バックアップポイントごとのパラメータを追加すると障害が発生しますか?

異なるrsyncパラメータを必要とする他のサーバー環境でRSnapshotを試しています。私の問題に対する解決策は、バックアップポイントごとのパラメータを使用するようです。

ドキュメントから(rsnapshot)

バックアップ /var/ localhost/ one_fs=1

これは他の例と同じですが、4番目の列に注意してください。これは、バックアップポイントごとのオプションを指定してグローバル設定を上書きする方法です。この追加パラメータには、カンマで区切られた複数のオプションを使用できます。

バックアップごとのrsync除外を指定するときに最も便利です。

root@somehost バックアップ:/ somehost +rsync_long_args=--exclude=/var/spool/??

+記号に注意してください。これは、リストを置き換えるのではなく、rsyncに渡された引数リストに追加するようにrsnapshotに指示します。

問題は、私が追加するパラメータにカンマがあることです。引用符がいくら多くても効果がないようです。

私が追加したいのはこれです。

+rsync_long_args=--chmod D0770,F0660

以下は、一重引用符を使用した実験の1つの結果です。

/usr/local/bin/rsnapshot configtest 
----------------------------------------------------------------------------
ERROR: /usr/local/etc/rsnapshot.conf on line 202:
ERROR: backup backupadmin@prime::shared_folders/ prime/shared_folders \
         +rsync_long_args='--chmod D0770,F0660' - Syntax error on \
         line 202 in extra opts: +rsync_long_args='--chmod \
         D0770,F0660' 
ERROR: ---------------------------------------------------------------------

どんな指針でも感謝します。

実際、short_argsとlong_argsを変更する必要があるため、少し複雑ですが、カンマが最も重要だと思います。また、パラメータ文字列全体を同じ結果に置き換えました。また、一重引用符と二重引用符がある場合とないバックスラッシュを使用してコンマを「エスケープ」してみました。

ベストアンサー1

追加オプションで提供されるパラメーターにはコンマを使用できません。コードではこれを許可しません。

コードrsnapshot自体:

sub parse_backup_opts {
    ....
    # split on commas first
    @pairs = split(/,/, $opts_str);
    ....
}

rsnapshot.confこの場合、各ソースシステムに異なるファイルを使用することをお勧めします。各*.confファイルができるだけ少ない行で構成されるように、共通部分を抽出できます。

include_conf            /usr/local/rsnapshot/DEFAULT.inc

lockfile                /var/run/rsnapshot-remoteserver.pid

rsync_short_args        -avzSi
rsync_long_args         --delete --delete-excluded --numeric-ids --fake-super ...

snapshot_root           /backup/rsnapshot/remoteserver
one_fs                  1

backup                  remoteuser@remoteserver:/         root/
backup                  remoteuser@remoteserver:/home/    home/

exclude_file            /usr/local/rsnapshot/EXCLUDE-linux.inc

共通構成を入れて共通DEFAULT.inc除外項目をEXCLUDE-linux.incrsnapshot-c

rsnapshot -c /usr/local/rsnapshot/remoteserver.conf hourly

おすすめ記事