Linux. Unidade de backup diferente a cada semana para o mesmo ponto de montagem

2

Nós temos uma unidade externa que nosso servidor faz backups todas as noites. Ele é montado em / snapshots. Estamos planejando trocar esse disco a cada semana. O problema é que uma unidade aparece como / dev / sdc e a outra como / dev / sdd. No fstab, a montagem é configurada para / dev / sdc. Antes de fazer o backup, os scripts são executados na montagem / snapshots que obtém seu ponto de montagem a partir do fstab.

Como posso obtê-lo para montar / dev / sdc uma semana e / dev / sdd na próxima semana. Tem que ser automático, pois as pessoas que trocam o disco não entrarão no terminal.

    
por Peter Bushnell 28.05.2012 / 11:44

1 resposta

2

Você pode criar um crontab para cada semana 0 2 * * 2 /usr/local/script.sh e colocar em script.sh :

#!/bin/bash
mark_file=/tmp/job-run-marker
# check whether the job runned last week
if [ -e $mark_file ] ; then
  rm -f $mark_file
  unmout /snapshots
  mount /dev/disk/by-label/even-weeks /snapshots
else
  touch $mark_file
  unmout /snapshots
  mount /dev/disk/by-label/odd-weeks /snapshots
fi

O script não encontrará $mark_file na primeira execução, portanto, ele montará /dev/disk/by-label/even-weeks . Na segunda execução, o script removerá $mark_file e, em seguida, montará /dev/disk/by-label/odd-weeks . Para a terceira execução, é o mesmo que a primeira execução. Portanto, se esse script for executado semanalmente pelo cron, o comando da tarefa será executado a cada duas semanas.

Dicas: identifique seu disco ln -s /dev/disk/by-uuid/UUID /dev/disk/by-label/even-weeks

EDITAR:

  • Correção após o comentário @Mat.
  • Do comentário de @nearora: Identifique seus sistemas de arquivos com links para / dev / disk / by-id / em vez de use / dev / sd [a-z].
por 28.05.2012 / 11:58

Tags