Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Операционные системы > Linux (Ubuntu, Debian, Red Hat, CentOS, Mint)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

Ответ
 
Опции темы
Старый 21.04.2017, 15:55   #1
mrdmitry
Новичок
 
Регистрация: 29.12.2011
Адрес: РК
Сообщений: 1
Репутация: 10
По умолчанию bash-скрипт резервного копирования

День добрый! набросал простенький скрипт для копирования папки. Теперь возникла необходимость копировать еще несколько папок, и копию каждой папки делать в отдельных архив с названием этой папки. подскажите как решить задачу с помощью массива и цикла?

Код:

#!/usr/bin/env bash


clear
cd /home/user/script/

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~условия~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TN=anna # название задания
OF=$TN-$(date +"%Y-%m-%d").tar # название файла на выходе
LOG=O_U_T/logs/backup.log # лог
SRC=I_N/dir1 # директория для копирования
DST=O_U_T/ # директория куда копировать
STATUS=$? # статус последней выполненой команды
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~выполнение~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# создание лога
echo >>$LOG
echo "=====================================" >>$LOG
echo "$(date +'%d-%b-%Y %R')" >>$LOG

# Проверка того, что папка существует
if [[ -d $DST ]]
then
  echo "Папка существует" >> $LOG
else
  mkdir $DST 
  if [[ -d $DST ]]
  then
    echo "Папка успешно создана." >> $LOG
  else
    echo -e "У меня нет прав, на создание папки" >> $LOG
    exit 1 >> $LOG
  fi
fi

# Выполнение копирования
echo "Задание $TN запущено" >> $LOG
tar -cf $DST$OF $SRC

if [[ $STATUS != O ]]
then
  echo "все прекрасно сделалось в $(date +'%R %d-%b-%Y')!" >>$LOG
  echo "=====================================" >>$LOG
else
  echo "операция не выполнилась \"$DST$OF\"" >>$LOG
  tar -cf $DST$OF $SRC
    if [[ $STATUS != O ]]
    then
      echo "при повторной все выполнилось"
    else 
      echo "ни хрена не сделалось"
    fi
fi

exit

mrdmitry вне форума   Ответить с цитированием
Старый 22.04.2017, 20:22   #2
nick-one
Пользователь
 
Регистрация: 28.03.2017
Сообщений: 21
Репутация: 21
По умолчанию

Написание скриптов дело хорошее, но нужно ли оно в этом случае? Резервное копирование не ноухау и есть полно готовых решение этой задачи. Хотя сам писал что-то подобное.

При увеличении объема данных возникнут проблемы. Например, есть директория в ней 10 *.doc файлов 1 изменен со времени последнего резервирования. Копировать все? Тут нужно инкрементное или дифференциальное копирование.

Для себя использую другое решение, есть 2 директории рабочая, резервная и уже готовая программа(их множество), которая ищет измененные файлы в рабочей и обновляет их в резервной директории.
Резервная хранится на сменном носителе.
nick-one вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
резервного копирования информации Дмитр 1 Паскаль 2 21.04.2016 21:03
Прерывание резервного копирования базы nastena_r_v БД в Delphi 9 15.05.2015 13:08
Система резервного копирования MSSQL Server и SCADA-систем. lat171 Фриланс 0 05.03.2014 14:30
Программа резервного копирования данных SepteR Помощь студентам 4 22.01.2013 21:59
Программа для резервного копирования в Windows Lime Софт 8 11.03.2012 04:42




18:30.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru