Выключить rsync, просто включив Карту памяти?

Я хотел бы знать, возможно ли автоматически смонтироваться, и разжечь rsync для синхронизации Карты памяти с каталогом? А именно, я хотел бы скопировать столько данных, сколько диск может содержать и только удалить самые старые файлы, если пространство необходимо. Я предположил бы, что сделаю что-то вроде этого со сценарием, но моя проблема, то, где запустить! Любые комментарии и предложения ценятся.

Спасибо

6
задан 17.02.2011, 14:57

2 ответа

Вы, вероятно, собираетесь хотеть изучить правило Udev запустить сценарий. То, что хорошо о правилах udev, является Вами, может заблокировать вниз, какая карта памяти используется для резервного копирования так не, каждая карта памяти исчерпывает его.

Первый шаг должен получить Ваше движение правила udev:

Вот является большое учебное руководство при записи udev правилами
и вот другой

Затем можно идти дальше к аспекту сценариев. Первая ссылка касается небольшого количества запуска сценария от udev таким образом, просто необходимо назвать rsync от него.

man:rsync имеет большую информацию об использовании.

1
ответ дан 07.12.2019, 16:35

Вот кишки задания резервного копирования, которое проверяет на смонтированный основанный на USB жесткий диск. Было бы легко изменить его для других целей и затем продолжать называть его через крон или возможно выполнять его в фоновом режиме с циклом сна вокруг ключевых ролей. Этот сценарий позволяет Вам указать, где диск usb, вероятно, будет найден (sdd), но было бы довольно легко изменить его для поиска карты с интерфейсом USB идентификатором диска.

Источник резервного копирования является подсоединенным внешним диском NFS, но очевидно который может быть изменен/удален по мере необходимости.

Существует для цикла в середине, которая указывает местоположения, которые будут сохранены

 # V1.01
 # Uses variable for usbdisk partition

started=`date`
usbdisk='sdd1'

if [ $(mount | grep -c /mnt/usbdisk) != 1 ]; then
 echo "USB disk is not mounted - trying to mount..."
 mount /dev/$usbdisk /mnt/usbdisk
 if [ $(mount | grep -c /mnt/usbdisk) != 1 ]; then
   echo "USB disk still not mounted - alerting admins and quitting"
   echo "USB disk is not mounted on TUX9 so backup cannot continue" | mail -s "TUX9 backup problem" myemailaddress@here.tld
   exit 1
 fi
fi

if [ $(mount | grep -c /mnt/nas) != 1 ]; then
  echo "NAS NFS mount is not present - trying to mount..."
  mount -t nfs -o proto=tcp,port=2049 mynas3:nas /mnt/nas
  if [ $(mount | grep -c /mnt/nas) != 1 ]; then
    echo "NAS NFS mount is still not present - alerting admins and quitting"
    echo "NAS NFS mount is not present on TUX9 so backup cannot continue" | mail -s "ASLTUX9 backup problem" myemailaddress@here.tld
    exit 1
  fi
fi

echo "All mount points present - backup starting..."

for i in /boot / /home /var /mnt/nas
# for testing for i in /boot
do
        if [ $i = "/" ]; then
                rsync -axv --delete root@tux8.test.lan:$i /mnt/usbdisk/backup/root
        elif [ $i = "/mnt/nas" ]; then
                rsync -axv --delete $i/ /mnt/usbdisk/backup/nas
        else
                rsync -axv --delete root@tux8.test.lan:$i/ /mnt/usbdisk/backup$i
        fi
done

echo done, started at $started, finished at `date`
echo "Backup of NAS3 and TUX8 to USB disk on TUX9 done. Started at $started, finished at `date`" | mail -s "TUX9 backup completed" myemailaddress@here.tld
0
ответ дан 07.12.2019, 16:35

Теги

Похожие вопросы