Minions
(usa Nenhuma)
Enviado em 30/08/2021 - 10:10h
A ideia é boa.....
Mais os links não fornece muita explicação sobre esse backup.
O autor do vídeo copiou o conteúdo do site
www.tecmint.com
https://www.youtube.com/watch?v=NpCukYfjZms
https://
www.tecmint.com/auto-backup-files-to-usb-media-in-linux/
Como o artigo no site é de
October 31, 2019 e eles não corrigem os problemas relatados, vamos corrigir ....
Na tradução dos comentários no site www.tecmint.com temos:
Problemas relatados:
man udev: "
Executar um processo de evento por um longo período de tempo pode bloquear todos os eventos adicionais para este ou um dispositivo dependente."
é um backup somente para adicionar, sem limpeza de arquivos antigos. No entanto, se você estender essa abordagem,
dê uma olhada na opção --link-dest do rsync.
comprimir dados transferidos localmente
(opção -z do rsync) irá apenas desperdiçar ciclos de CPU.
rsync SOURCE DESTINATION enquanto você está tentando fazer rsync DESTINATION SOURCE que
pode bagunçar completamente os diretórios do usuário se eles seguirem o seu guia.
Seu script bash simplesmente não funcionará na configuração padrão sem modificações diretas de fstab para dispositivos USB específicos.
O ID do fornecedor do dispositivo não é permanente nas sessões do udev e será alterado!
Se entendi direito,
todos os seus discos com ID de fornecedor 125f serão substituídos por um backup, assim que você os conectar. Para evitar a perda acidental de dados, não seria razoável verificar se há um UID de sistema de arquivos ou algum outra string exclusiva, além do ID do fornecedor comum?
seria bom ter alguma explicação sobre SYMLINK na regra (especialmente a %n parte que não é óbvia).
Algum novo feedback ai?
SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh"
#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"
#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then
/bin/mkdir “$MOUNT_POINT”;
fi
/bin/mount -t auto “$BACKUP_DEVICE” “$MOUNT_POINT”
#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit