PDA

Bekijk de volledige versie : Упрощение backup



fyodorov
14-05-2007, 22:33
Была задача, что бы при втыкании определенного диска или флешки,
автоматически или набором одной команды запускался backup содержимого /tmp/harddisk/part1 на нее, а при втыкании других дисков или флешек они работали как обычно, вот что получилось:

cd /путь куда смонтировался диск на который хочется бекапить папку /tmp/harddisk/part1

vi backup.sh

нажимаем ESC,A
вставляем:

#!/bin/sh
cdate=`date +%d-%m-%y`
cdir=`pwd`

if mkdir $cdir/$cdate; then
if cd $cdir/$cdate; then
if cd /tmp/harddisk/part1; then
screen -m -d tar -cvf $cdir/$cdate/archive.tar .;
fi;
fi;
fi;


нажимаем Shift,Z,Z
далее chmod a+x backup.sh

для удобства создать фаил /usr/local/sbin/backup
mkdir /usr/local/sbin
vi /usr/local/sbin/backup


нажимаем ESC,A
вставляем:

#!/bin/sh
if cd /tmp/harddisk/part3; then
/tmp/harddisk/part3/backup.sh; fi;
if cd /tmp/harddisk/part2; then
/tmp/harddisk/part2/backup.sh; fi;


нажимаем Shift,Z,Z
далее chmod a+x backup

после всего
flashfs save
flashfs commit
flashfs enable

Теперь достаточно вставить диск с фаилом backup.sh (см.выше)
набрать backup и на диске создасться папка с текущей датой и в нее
сложится архив /tmp/harddisk/part1. Если сегодня уже производился backup и
вставить диск снова, то ничего не произойдет, Если вставить флешку или диск без фаила backup.sh,
так же ничего не произойдет.

можно поставить backup в cron на каждые 5 минут,

согласен что кривовато но больше ничего не придумалось.