Grsync заполняет раздел операционной системы, если пункт назначения отключен
Если назначенный целевой диск отключен, Grsync заполняет раздел операционной системы вместо того, чтобы просто монтировать его или прерывать работу. Как мне предотвратить это?
Обычно я не забываю проверять, смонтирован ли он, но иногда забываю, что приводит к очень плохим результатам.
Спасибо за любую помощь.
ra@ra-main:~$ кошка /etc/fstab
/etc/fstab: информация о статической файловой системе.
Используйте «blkid», чтобы напечатать универсальный уникальный идентификатор для
устройство; это может использоваться с UUID= как более надежный способ именования устройств.
это работает, даже если диски добавляются и удаляются. См. fstab(5).
/ был в /dev/sdc3 во время установки
UUID=557ba3eb-2dcc-4b03-964b-f12f509c4faa / ошибки ext4=remount-ro 0 1
/boot/efi был на /dev/sda3 во время установки
#UUID=D305-EBF0 /boot/efi vfat umask=0077 0 1 /swapfile none swap sw 0 0 UUID=0399-667C /boot/efi vfat defaults 0 1 LABEL=Grsync /mnt/Grsync auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Grsync 0 0ra@ra-main:~$ ^C
1 ответ
Да, это предполагаемое поведение grsync, rsync и т. д., а также многих других инструментов резервного копирования, и пользователь несет ответственность за проверку того, что том смонтирован перед выполнением этих инструментов (как вы намекаете). Вы можете создать сценарий, который запускает команду grsync, а не запускать ее напрямую, а затем поместить несколько команд, которые проверяют, смонтирован ли том перед запуском команды grsync (или просто запускайте команды проверки монтирования вручную, это тоже работает). Что-то вроде этого может сработать:
cd /home/username/
mkdir scripts
cd scripts
nano grsyn.sh
sudo chmod 750 grsync.sh
nano grsync.sh
Затем в файл, открывшийся в текстовом редакторе nano, скопируйте и вставьте и настройте этот скрипт под свои нужды:
if grep -qs '/mnt/backup ' /proc/mounts; then
echo "I will proceed with grsync because the volume is ready."
grsync [enter your commands/flags here]
else
echo "The volume is not ready, so I am not running grsync."
fi
Вы можете запустить скрипт вручную, перейдя в каталог ваших скриптов и набрав
./grsync.sh
. Флаг является необязательным и может быть удален в зависимости от предпочтений пользователя. При желании вы можете создать задание cron для запуска этого скрипта следующим образом:
sudo crontab -e
Под последней записью скопируйте/вставьте и настройте следующее в соответствии с вашими потребностями:
0 8 * * * /bin/bash /home/username/scripts/ >> /home/username/grsync.log
Этот скрипт будет запускать нужную команду grsync каждый день в 8 утра.
Новым пользователям и/или менее сложным рабочим процессам может потребоваться только простая проверка, и в этом случае проще всего ввести одну команду в консоли . Для этого используйте приведенный выше синтаксис grep, но обязательно опустите
q
флаг, чтобы результат выводился на стандартный вывод:
grep -s '/mnt/backup ' /proc/mounts
Затем будет напечатан результат, подобный этому, если том смонтирован:
/dev/sdb /mnt/backup ext4 rw,nosuid,nodev,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0
Если вы не получаете никакого вывода, и пока ваша строка grep верна, это будет означать, что том, вероятно, не смонтирован. Наконец, если вы хотите, чтобы это было интегрировано в графический интерфейс grsync вместо обработки в командной строке , просто введите команду вручную в Дополнительные параметры / Выполнить эту команду перед rsync / Остановить при сбое .