/optと/が別々にバックアップされるのはなぜですか?

/optと/が別々にバックアップされるのはなぜですか?

システムバックアップを実行するスクリプトを使用しています。このスクリプトの一部は、/、/opt、/usr/local をバックアップします。しかし、/下に/optと/usr/localがありませんか?それでは、スクリプトがそれらを別々にバックアップするのはなぜですか? /homeが別々のパーティション/ dev / sda3にあるので、別々にバックアップされる理由を理解してください。ただし、/opt と /usr/local はどちらもルート /dev/sda2 と同じパーティションにあります。ルートパーティションに複数のマウントポイントがある理由と、単一のファイルシステム内にあるファイルシステムが別々にバックアップされているように見える理由を誰かが説明できますか?

スクリプトの断片:

# these are on btrfs file systems so we must use tar
# /
# /opt
# /usr/local

TARFS() {
  if [ $ITER -ne 0 ]; then SETERR $ITER; fi # main pid SETERR is redundant
  if [ "$1" = "." ];  then NAME=root; else NAME=$1; fi
  LOG "Starting tarball backup of $NAME in BG - $ITER"
  tar cfz $NOW/$NAME.tgz 2>> $EFILE --one-file-system $1
  if [ $? -ne 0 -o -s $EFILE ]; then WARN tarballing $NAME;
  else                               LOG Completed tar of $NAME; fi
  if [ $ITER -ne 0 ]; then CLEANERR; fi
}

if [ $PARM1 -eq 0 ]; then    # level 0 - weekly stuff
  sleep 10; ITERATE
  TARFS . &
  sleep 10; ITERATE
  (cd usr; TARFS local) &
  sleep 10; ITERATE
  TARFS opt                  # not in BG due to DB ops coming
fi  

df -hTの出力:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2      btrfs      41G   16G   25G  39% /
devtmpfs       devtmpfs   64G  4.0K   64G   1% /dev
tmpfs          tmpfs      64G   76K   64G   1% /dev/shm
tmpfs          tmpfs      64G   67M   64G   1% /run
tmpfs          tmpfs      64G     0   64G   0% /sys/fs/cgroup
/dev/sda2      btrfs      41G   16G   25G  39% /.snapshots
/dev/sda2      btrfs      41G   16G   25G  39% /var/spool
/dev/sda2      btrfs      41G   16G   25G  39% /var/crash
/dev/sda2      btrfs      41G   16G   25G  39% /var/tmp
/dev/sda2      btrfs      41G   16G   25G  39% /usr/local
/dev/sda2      btrfs      41G   16G   25G  39% /var/opt
/dev/sda2      btrfs      41G   16G   25G  39% /var/lib/pgsql
/dev/sda2      btrfs      41G   16G   25G  39% /var/lib/named
/dev/sda2      btrfs      41G   16G   25G  39% /var/lib/mailman
/dev/sda2      btrfs      41G   16G   25G  39% /tmp
/dev/sda2      btrfs      41G   16G   25G  39% /srv
/dev/sda2      btrfs      41G   16G   25G  39% /opt
/dev/sda2      btrfs      41G   16G   25G  39% /boot/grub2/x86_64-efi
/dev/sda2      btrfs      41G   16G   25G  39% /boot/grub2/i386-pc
/dev/sda2      btrfs      41G   16G   25G  39% /var/log
/dev/sde1      xfs       1.0T  125G  899G  13% /Dbbkup
/dev/sdd1      xfs       1.0T   21G 1003G   3% /C
/dev/sda3      xfs       982G  1.3G  981G   1% /home
/dev/sdb1      xfs       1.0T  522G  502G  51% /D
/dev/sdc1      xfs       1.0T  325G  699G  32% /E

lsblkの出力:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk
sda      8:0    0    1T  0 disk
ââsda1   8:1    0    2G  0 part [SWAP]
ââsda2   8:2    0   40G  0 part /
ââsda3   8:3    0  982G  0 part /home
sdb      8:16   0    1T  0 disk
ââsdb1   8:17   0 1024G  0 part /D
sdc      8:32   0    1T  0 disk
ââsdc1   8:33   0 1024G  0 part /E
sdd      8:48   0    1T  0 disk
ââsdd1   8:49   0 1024G  0 part /C
sde      8:64   0    1T  0 disk
ââsde1   8:65   0 1024G  0 part /Dbbkup
sr0     11:0    1 1024M  0 rom

ベストアンサー1

/opt および /usr/local/ は btrfs ファイルシステムのサブボリュームです (確認するには /etc/fstab で subvol= を探します)。サブボリュームはパーティションと似ており、tarbtrfsサブボリュームは別々のマウントポイントとして扱われ、--one-file-systemオプションが設定されている場合はスキップされます。これが、(1)sda2パーティションが複数のマウントポイントで表示され、(2)/をバックアップするときに/optおよび/usr/local/をスキップして別々にバックアップする必要がある理由です。

おすすめ記事