Olá, a minha idéia era rodar automaticamente um script quando meu pendrive fosse plugado no computador de casa, para isso achei a seguinte solução :
http://ninetynine.be/blog/2009/03/ubuntu-backup-to-usb-drive-on-mount/Como é antigo é necessário alterar alguns passos, fica fácil de entender vendo esse tutorial:
http://hackaday.com/2009/09/18/how-to-write-udev-rules/Criei os seguintes arquivos:
SUBSYSTEMS=="usb", KERNEL=="sd?1", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1607", MODE="0666", GROUP="casa", ATTRS{product}=="DataTraveler 2.0", NAME="irtigor_d", RUN+="/usr/bin/usb_backup.sh"
#!/bin/sh
user=`whoami`
pids=`pgrep -u $user gnome-panel`
title=$1
text=$2
timeout=$3
icon=$4
if [ -z "$title" ]; then
echo You need to give me a title >&2
exit 1
fi
if [ -z "$text" ]; then
text=$title
fi
if [ -z "$timeout" ]; then
timeout=60000
fi
for pid in $pids; do
# find DBUS session bus for this session
DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \
/proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
# use it
#icon hack:
if [ -z $icon ]; then
DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \
notify-send -u low -t $timeout "$title" "$text"
else
DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \
notify-send -u low -t $timeout -i "$icon" "$title" "$text"
fi
done
#!/bin/bash
{
mount_point=$(grep IRTIGOR_D /etc/mtab)
attempts=1
while [ -z "$mount_point" ] && [ "$attempts" -le 50 ]; do
# $mount_point has not been found
# quit if this fails more than 50 times.
# This should not be necessary, but it better to be safe
# than have the script trapped in this loop forever for
# some unforeseen reason.
sleep 1
mount_point=$(grep IRTIGOR_D /etc/mtab)
attempts=$(($attempts+1))
done
if [ -n "$mount_point" ]; then
su casa alt-notify-send --chmod=+x "Pendrive irtigor_d" "Fazendo backup" 5 "/home/casa/usbpendrive.png"
rsync -cr --delete /media/IRTIGOR_D/ /home/casa/Backup/Pendrive
chown casa: -R /home/casa/Backup/Pendrive
su casa alt-notify-send "Pendrive irtigor_d" "Backup completo" 5 "/home/casa/usbpendrive.png"
fi
} &
/etc/udev/rules.d/81-local.rules, /usr/local/bin/alt-notify-send e /usr/bin/usb_backup.sh respectivamente.
O script funciona para o que é proposto só que possui algumas coisas que, com a ajuda dos membros do fórum, eu gostaria de alterar:
1-No script original a variável $timeout recebe o valor 0 só que se eu executo com esse valor no lugar da mensagem aparecer no canto da tela (d-bus Notify?), ela aparece como um pop-up no centro da tela. O ideal seria a primeira mensagem ficar em loop até o fim do backup e ai sim mostrar a segunda mensagem (com tempo fixo como está).
2-Eu gostaria de usar como imagem o ícone usado pelo sistema para drive usb mas com abstração, eu não quero especificar o caminho para o ícone do meu tema atual.
Alguma sugestão?
Obrigado pela atenção.