Para fazer o que deseja é preciso realizar alguns processos, siga-os rigorosamente.
Antes de tudo, instale o zenity: sudo apt-get install zenity
Preste bem atenção Ricardo, sera necessario mexer no sudoers e no gnome-mount, eles são importantes, por isso, não faça nada por conta propria, siga os passos pela ordem no que diz respeito ao sudoers e ao gnome-mount.
Passo 1 - Insira o pendrive.
Passo 1.1 - Crie na raiz do pendrive uma pasta de nome backup, vamos salvar vela os dados.
Passo 1.2 - Abra o terminal.
Passo 2 - De o comando df -h para verificar o local do pendrive, que será /dev/alguma coisa.
Passo 3 - Pegue e guarde o uuid do pendrive com o comando sudo vol_id --uuid /dev/alguma coisa (o paso 2 esta mostrando o dispositivo).
ex: abaixo resultado do comando df-h no meu micro. Dentr os resultados tenho abaixo a linha que corresponde ao meu pendrive de 8gb.
/dev/sdb 7,6G 2,0G 5,7G 26% /media/disk.
o comando para pegar o uuid será sudo vol_id --uuid /dev/sdb, o /media/disk é apenas o caminho onde o pendrive é montado.
4 - É preciso liberar permissão de sudo sem senha ao comando /sbin/vol_id para o usuário que realizará o backup.
4.1 - Para isso, de o comando sudo cp /etc/sudoers /etc/sudoers-old para realizarmos o backup do sudoers.
4.2 De agora o comando sudo nano /etc/sudoers.
Agora, no final do arquivo, insira (sem aspas) a linha "usuario ALL=NOPASSWD: /sbin/vol_id".
Altere "usuario" pelo nome do usuario que fará o backup, no caso, seu nome de usuário.
Agora Pressione Ctrl + O (letra O, de ovo, não é o numero 0) e em seguida a tecla ENTER para salvar e Ctrl + X em seguida para sair.
5 - É preciso criar o arquivo de log, então, de o comando: sudo gedit /var/log/pendrive.log.
Afinal, voce quer ver o resultado, nao quer...
6 - É preciso dar permissão ao arquivo de log, de o comando: sudo chmod 777 /var/log/pendrive.log.
7 - De agora o comando sudo mv /usr/bin/gnome-mount /usr/bin/gnome-mount-old.
8 - De agora o comando sudo gedit /usr/bin/gnome-mount e insira o conteudo informado logo mais abaixo.
Atenção:
Na Linha 3 - Altere UUID-UUID pelo uuid do pendrive adquirido no Passo 3.
Na Linha 4 - Altere usuario pelo nome do usuario que fará o backup.
Na Linha 6 - Coloque o caminho da pasta a ser realizado backup, alterando usuario pelo seu nome de usuário. Como deseja o backup da pasta home, deixe ORIG="/home/".
Na linha 18 - ${MNTDIR}/backup => ${MNTDIR}/ é o pendrive e backup é uma pasta que eu criei de antemão dentro do pendrive. Dentro dessa pasta será salvo is dados especificado na linha 6. Atençao caso queira alterar o destino dos dados no pendrive.
Porem, mantenha a linha 18 alterando apenas o usuario e fazendo backup do conteudo da pasta documentos, se der certo, altere a linha para /home/
Insira o conteudo abaixo:
#!/bin/bash
CMD="/usr/bin/gnome-mount-old"
UUID="UUID-UUID"
USER="usuario"
LOGDIR="/var/log/pendrive.log"
ORIG="/home/usuario/Documentos"
DEVICE="$@"
DEVICE=${DEVICE##* }
U=`echo "$@" | grep 'u '`
if [ -z "$U" ]; then
$CMD $@
fi
MYUSER=`whoami`
MNTDIR=`mount | grep $DEVICE | awk '{ print $3 }' | head -1`
if [ "$MYUSER" = "$USER" ]; then
UUID_DEV=`sudo /sbin/vol_id --uuid $DEVICE`
if [ "$UUID_DEV" = "$UUID" ]; then
rsync -Cravzpu --delete "${ORIG}" "${MNTDIR}/backup" 2>&1 >> ${LOGDIR} | zenity --progress --pulsate --auto-close --title="Backup" --text="Transferência de dados em Andamento, AGUARDE."
fi
fi
if [ ! -z "$U" ]; then
$CMD $@
fi
Agora salve o arquivo e feche.
Agora de o comando chmod +x /usr/bin/gnome-mount.
Agora retire e insira novamente o pendrive e veja o conteudo da pasta backup.
Abra o arquivo /var/log/pendrive.log
Se fez tudo certo, com certeza o resultado foi positivo.
Notas:
Agora sempre que inserir seu pendrive, o backup será efetuado de forma automática, mas isso apenas para o seu pendrive.
Se inserir outro pendrive, nada vai acontecer, isso graças ao uuid que foi inserido no script.
Apenas o seu usuario fara o backup, para isso no script foi definida a condicao if [ "$MYUSER" = "$USER" ], onde $USER foi especificado na linha 4 do script. caso o usuario seja diferente, o pendrive apenas sera montado.
Se quiser realizar o backup em outro pendrive, basta pegar o UUID e inseri-la no script na linha 3.
Se por um acaso formatar o pendrive, saiba que o uuid sera alterado e voce sera obrigado a pegar o novo uuid e corrigi-lo na linha 3 do script.