I am working with a script that does system back up. One part of the script backs up /, /opt, and /usr/local. But isn't /opt and /usr/local under /? So why would the script back these up separately? I understand why /home is backed up separately since it's on a separate partition /dev/sda3. But /opt and /usr/local are both on same partition as root, /dev/sda2. Can someone explain why the root partition has multiple mount points and why filesystems that appear to be within a single file system are backed up separately?
Script snippet:
# 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
Output from 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
Output from 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
/
from/opt
etc. in the script configurable, and are you expected to tweak this configuration maybe? – Kusalananda♦ Apr 1 '19 at 15:05mount
to see if/
really is the same file system? – Philip Couling Apr 1 '19 at 15:05lsblk
As for WHY the directories that are on the same filesystem are backed up separately, you should ask the script author. Filesystem mapping to block devices can vary drastically between each system. There may also be considerations for permissions. Asking "why did person X do something" is kind of off-topic. But if you give us enough technical detail we MAY be able to get some idea of what was going on. – 0xSheepdog Apr 1 '19 at 15:26