Você precisará verificar antecipadamente se o disco está montado (via mount
e grep
) e, em seguida, o script falhará se não estiver.
Ubuntu 9.10, conectado à unidade USB WD 1.5GB externa, chamada "data_3"
Conectei o cabo USB e tudo ficou bem por muito tempo. Realizava tarefas noturnas no cron, rssiniciando dados através da rede interna.
Após uma queda de energia, após o qual o USB externo não foi iniciado, o trabalho de rsync COPIED os dados para / media / data_3, na unidade interna, que é muito menor e ficou sem espaço.
O script rsync aponta para a unidade USB montada supostamente em / media / data_3, mas quando não existe ele escreve para / media / data_3, na unidade interna.
Como obter o rsync para gravar somente no disco USB e falhar se não estiver montado?
Você pode criar um arquivo no disco externo e testar sua presença antes de executar o rsync.
if [ -e /media/data_3/testfile ]; then rsync /source/directory /media/data_3/destination; fi
deve funcionar como uma linha no bash pelo menos. Você pode adicionar uma outra condição para enviar um e-mail se o arquivo não existir (o que significa que a partição não está montada ou não está montada no lugar certo).
Tags rsync usb-storage ubuntu