Автор Тема: Бекъп на акаунти  (Прочетена 1793 пъти)

dlozev

  • Напреднали
  • *****
  • Публикации: 23
    • Профил
Бекъп на акаунти
« -: Feb 22, 2014, 10:19 »
Здравейте, трябва ми скрипт, който прави бекъп на всяка директория в /home по отделно. Примерно имаме директория /home/user и трябва да и създаде бекъп backup-user-2014.02.04.tar.gz и този .tar.gz файл да бъде съхранен във /home/backups. Така автоматично да прави бекъп на всяка една директория в /home.

Благодаря ви предварително!
Активен

malin

  • Гост
Re: Бекъп на акаунти
« Отговор #1 -: Feb 22, 2014, 10:41 »
Извън темата.

Така зададен/поставен въпроса ме сеща за началото на "Бон шанс инспекторе".
Активен

dlozev

  • Напреднали
  • *****
  • Публикации: 23
    • Профил
Re: Бекъп на акаунти
« Отговор #2 -: Feb 22, 2014, 11:21 »
Ако можеш помогни, ако ли не, недей да спамиш темата.
Активен

wfw

  • Напреднали
  • *****
  • Публикации: 249
  • Distribution: Debian
  • Window Manager: none
    • Профил
Re: Бекъп на акаунти
« Отговор #3 -: Feb 22, 2014, 11:58 »
Има много варианти, но ти предлагам, ако ще архивираш /home бекъпа ти да е на друго място, а не в /home, защото ще трябва да проверяваш дали случайно не си бекъпваш и бекъпа, което ще е кофти.

Това е елементарен баш скрипт,
Код:
#!/bin/sh
SRCD="/home/"
TGTD="/archive/"
OF=-$(date +%d%m%Y).tar.gz

for DIR in $SRCD ; do
  if [[ -d "$DIR" && ! -L "$DIR" ]]; then
    tar czf $TGTD$DIR$OF $SRCD
  fi;
done

ако решиш да архивираш в /home все пак, ще трябва да добавиш в реда   if [[ -d "$FILE" && ! -L "$FILE" ]]; then и проверка да не бекъпваш директорията на бекъпите.
Активен

dlozev

  • Напреднали
  • *****
  • Публикации: 23
    • Профил
Re: Бекъп на акаунти
« Отговор #4 -: Feb 22, 2014, 18:55 »
Когато изпълня този скрипт, ми излиза следното:

Код:
tar: tar (child): /backups/home-22022014.tar.gz: Cannot open: No such file or directoryRemoving leading `/' from member names
tar (child): Error is not recoverable: exiting now
Активен

wfw

  • Напреднали
  • *****
  • Публикации: 249
  • Distribution: Debian
  • Window Manager: none
    • Профил
Re: Бекъп на акаунти
« Отговор #5 -: Feb 23, 2014, 00:48 »
Код:
#!/bin/sh
SRCD="/home/"
TGTD="/archive/"
OF=-$(date +%d%m%Y).tar.gz

for DIR in $SRCD* ; do
  if [ -d "$DIR" ]; then
    tar czf $TGTD$(basename $DIR)$OF $SRCD
  fi;
done


моя грешка, изпуснал съм 1 звезда и проверката ми за хард линкове сигурно не е нужна. така работи.
« Последна редакция: Feb 23, 2014, 00:54 от wfw »
Активен

User13

  • Гост
Re: Бекъп на акаунти
« Отговор #6 -: Feb 23, 2014, 08:36 »
В Убунту си има програма с графичен интерфейс, която върши тази работа. Може да се стартира от диалога за настройките.
Активен

wfw

  • Напреднали
  • *****
  • Публикации: 249
  • Distribution: Debian
  • Window Manager: none
    • Профил
Re: Бекъп на акаунти
« Отговор #7 -: Feb 23, 2014, 11:21 »
Има толкова много програми, а и е малко неефективно да пазиш пълни бекъпи, при условие, че 90% от файловете сигурно не се променят.
« Последна редакция: Feb 23, 2014, 11:24 от wfw »
Активен

Acho

  • Напреднали
  • *****
  • Публикации: 5296
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: Бекъп на акаунти
« Отговор #8 -: Feb 23, 2014, 11:45 »
То и не стана ясно това реална ситуация ли е (примерно в някоя фирма), или някаква тестова задача за някакво си училище ?
Активен

CPU - Intel Quad-Core Q8400, 2.66 GHz; Fan - Intel Box; MB - Intel G41M-T2; RAM - DDR2-800, Kingston HyperX, 2X2048 MB; VC - onboard, Intel G41 Express Chipset; HDD - Toshiba, 500 GB, SATAII; SB - Realtek HD Audio; DVD-RW - TSSTcorp DVD-RW; LAN - Realtek PCI-E GBE Controller; PSU - Fortron 350 Watt.

dlozev

  • Напреднали
  • *****
  • Публикации: 23
    • Профил
Re: Бекъп на акаунти
« Отговор #9 -: Feb 25, 2014, 00:27 »
Скрипта ми бе написан, благодаря ви за вниманието!
Активен