リモートバックアップを行っています。これは私のrsnapshot設定です。
config_version 1.2
snapshot_root /data/sbackup/
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
interval alpha 2
interval beta 2
interval gamma 2
interval delta 1
ssh_args -p xxxx
verbose 3
loglevel 4
logfile /var/log/rsnapshot/
exclude_file /data/xxxxx.exclude
rsync_long_args --stats --delete --numeric-ids --relative --delete-excluded
lockfile /var/run/rsnapshot.pid
backup [email protected]:/ xxxxx-server/
このボトムラインをexclude_fileに追加しました
+ /root
+ /backups/mysqldb/latest
+ /etc/automysqlbackup
+ /etc/imscp
+ /etc/postfix
+ /etc/fail2ban
+ /etc/dovecot
+ /etc/Apache2
+ /etc/ssh
+ /etc/ssl
+ /etc/php5
+ /etc/cron.d
+ /usr
+ /var/mail
+ /var/www
+ /var/log
- /var/cache
- /boot
- /home
- /opt
- /etc
- /*
しかし、rsyncを実行した後、完全なroot
&usr
ディレクトリしか取得できません。他に言及されていない+
パスファイル/サブディレクトリがダウンロードされています。
が欲しいです +
含まれるディレクトリと-
含まれません。
私が間違っていることは何ですか?.
構文は難しいですが、一度コツをつかんだら不可能ではありません。トリックは、rsync/rsnapshot作業ディレクトリのルートに対して1つずつ一致するディレクトリをリストする必要があることを理解することです。
/ var/logディレクトリだけを含めたいと言います
+ /var # we want the var directory
+ /var/log # we want the var/log directory
- /var/* # we dont want anything else in the var directory
- /* # we don't want anything else at all
ご覧いただければ幸いです。最初に/ var、次に/ var/log、次に/ var/*、次に/ *で一致します。
これは機能しません
+ /var/log
- /*
/ var/logは一致を生成しないため、奇妙なことに...
あなたの例ではあなたの最初の
+ /backups/mysqldb/latest
同じ理由で、一致するものは作成されません。
除外パターン/*
は、/etc/something
を明示的に含めてから、/etc
で不要なパスを除外しない限り、/etc/*
のようなパスが除外されることを意味しているようです。
したがって、+ /etc
と- /etc/*
を追加し、同様に/var
と/backups
と/backups/mysqldb
にも追加します。
ちなみに、先ほど、include_fileとexclude_fileの2つのファイルが必要だと言いました。これを行うことはできますが、実際には、ファイルの各行を明示的な「+」または「-」で開始すると、デフォルト包含または除外アスペクトがオーバーライドされます。したがって、行の接頭辞を付ければ、すべてを1つのファイルに入れることができます。