Скрипт копирования конфигов. (Не работает.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Скрипт копирования конфигов.

Сообщение Voler »

Всем доброе утро.

решил написать скрипт, для копирования конфигурационных файлов.

[code]
#!/bin/bash
FILES="`cat /var/package.cfg`"

DATE=`date '+%F_%H:%M'` #присвоим каталогу дату в виде 2008-03-11_09:11
CR=`mkdir /backup/conf_$DATE` # создадим каталог в нужной нам директории.

cp -f $FILES $CR > test.log #скопируем нужные нам конфиги.

/var/package.cfg - в этот файл заносим нужные конфиги, указывая полный путь к ним.

Подскажите, где что не так указал.
Спасибо сказали:
ultros
Сообщения: 24
ОС: Linux

Re: Скрипт копирования конфигов.

Сообщение ultros »

cp -f $FILES $CR - этим действием он создает католог.

Выглядеть это должно приблизительно так:
#!/bin/bash
FILES=`cat /var/package.cfg`

DATE=`date '+%F_%H:%M'`

mkdir /backup/conf_$DATE

CR=/backup/conf_$DATE

cp -f $FILES $CR > test.log
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт копирования конфигов.

Сообщение Voler »

Немного подправил.

Код: Выделить всё

#!/bin/bash
FILES=`cat /var/package.cfg`

DATE=`date '+%F'`

mkdir /backup/conf_$DATE

CR=`/backup/conf_$DATE/`

cp -f $FILES $CR


Ругается вот на что.
./test
./test: line 8: /backup/conf_2008-03-11/: является директорией
cp: после `/etc/httpd/conf/httpd.conf' пропущен операнд, задающий целевой файл
Попробуйте `cp --help' для получения более подробного описания.


в файле package.cfg указан путь к файлу и само название файла

Код: Выделить всё

[/etc/httpd/conf/httpd.conf
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт копирования конфигов.

Сообщение Voler »

Voler писал(а):
11.03.2008 13:16
Немного подправил.

Код: Выделить всё

#!/bin/bash
FILES=`cat /var/package.cfg`

DATE=`date '+%F'`

mkdir /backup/conf_$DATE

CR=`/backup/conf_$DATE/`

cp -f $FILES $CR


Ругается вот на что.
./test
./test: line 8: /backup/conf_2008-03-11/: является директорией
cp: после `/etc/httpd/conf/httpd.conf' пропущен операнд, задающий целевой файл
Попробуйте `cp --help' для получения более подробного описания.


в файле package.cfg указан путь к файлу и само название файла

Код: Выделить всё

[/etc/httpd/conf/httpd.conf



Разобрался, вроде. Убрал CR=`/backup/conf_$DATE/` из CR=/backup/conf_$DATE/ и все заработало. Ща проверю, как будет обрабатываться большой список файлов.
Спасибо сказали:
Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Скрипт копирования конфигов.

Сообщение TechnoMag »

а backupsys чем не катит?
backupsys
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт копирования конфигов.

Сообщение Voler »

TechnoMag писал(а):
11.03.2008 13:41
а backupsys чем не катит?
backupsys


Да метод, даже очень не плохой. Но я уже все равно сделал, bash скрипт. Ща еще добавлю архивацию с удалением и все.

Спасибо, за идею.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт копирования конфигов.

Сообщение Voler »

Вот к этому, я пока привел.

Данный скрипт можно как угодно, дополнять.

Код: Выделить всё

cat run_back_conf
#!/bin/bash
#Читаем содержимое файла, и копируем его файлы.
FILES=`cat /var/package.cfg`
#Добавим дату, к каталогу.
DATE=`date '+%F'`
#Создадим папку + Дата.
mkdir /backup/conf_$DATE
#Укажем куда копировать.
CR=/backup/conf_$DATE/
#Копируем файлы указанные в package.cfg
cp -f $FILES $CR
#создадим архив.
tar -cvzf /backup/conf_$DATE.gz $CR/*


Содержанеи моего файла /var/package.cfg

Код: Выделить всё

/etc/httpd/conf/httpd.conf
/etc/ssh/sshd_config
/etc/ssh/ssh_config
/etc/linbilling.cfg
/etc/linbilling_rule.cfg
/etc/vsftpd/vsftpd.conf
/etc/fstab


Можно так же просто указать:
/etc/httpd/conf/*.* - просто скопирует все файлы.
/etc/httpd/conf/* или каталоги + файлы. но тут возможно потребуется указать -R - рекурсивный перебор каталогов.

Если у каго есть, какие замечания готов выслушать.
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: Скрипт копирования конфигов.

Сообщение quadrik »

не экономь на бекапах. копируй весь /etc а не отдельные файлы. если что-то напортачишь восстановить будет не проблема, а так придется половину /etc откуда-то вытягивать, т.к. есть только некоторые файлы. наверняка /etc - это не самое ценное на сервере (машине). может нужно бекапить /var или что там у тебя ещё не на рейде
Спасибо сказали: