Programar backup com notificação?

1

Para evitar a edição de arquivos em o mesmo horário de backup agendado pelo cron , eu descubro uma maneira:

  • Antes do backup, envie uma notificação na área de trabalho, como notify-send -t 0 "Ready for backup" , para me preparar (salve minha edição em arquivos e conecte o disco rígido externo como destino de backup) e, quando estiver pronto, clicarei ok na notificação e o backup é iniciado.

  • Quando o backup terminar, opcionalmente, notifique-me com o valor de saída do comando de backup e o tempo gasto para o backup, para que eu possa retomar a edição.

Como posso fazer isso no bash e no Ubuntu? Isso contém um problema menor: como programar a notificação da área de trabalho no cron?

Sinta-se à vontade se tiver uma maneira melhor de alcançar meu objetivo no começo.

Minha tentativa.

Eu adicionei * * * * * /home/t/mybackup.sh a crontab -e , onde eu escrevi um script bash /home/t/mybackup.sh wrapping backup and notifications:

#! /usr/bin/env bash                                                                                                                                          
export DISPLAY=:0
/usr/bin/notify-send -t 0 "Ready for backup?" &&
    dest=/tmp/'date +%Y.%m.%d_%H:%M:%S'&&
    mkdir -p "$dest" &&
    timetake='time /usr/bin/rsync -a /home/t/program_files/dir/ "$dest"/  2>"$dest"/rsync-errors'; exitvalue='echo $?'
/usr/bin/notify-send -t 0 "Finished backup!" "time taken: " $timetake " exit value:" $exitvalue

Tem os seguintes problemas:

  • Eu quero fazer a primeira notificação "Pronto para backup?" aguarde minha resposta antes do backup. Ou seja, se eu clicar em "OK", pode continuar fazendo o backup. Se eu clicar em "Cancelar", não deverá executar o backup e os seguintes comandos no script.

    Mas no meu script atual, o primeiro notify-send não aguarda minha resposta e continua fazendo o backup.

    Mesmo se eu pudesse esperar pela minha resposta, não sei como codificar no meu script para pegar minha resposta se clico em "OK" ou "Cancelar".

  • o segundo notify-send para "Backup concluído! ..." não aparece após o término do backup.

por Tim 22.04.2015 / 00:59

0 respostas