Была задача, что бы при втыкании определенного диска или флешки,
автоматически или набором одной команды запускался 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 минут,
согласен что кривовато но больше ничего не придумалось.
Last edited by fyodorov; 15-05-2007 at 19:10.