Всем доброе утро.
решил написать скрипт, для копирования конфигурационных файлов.
[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 - в этот файл заносим нужные конфиги, указывая полный путь к ним.
Подскажите, где что не так указал.
Скрипт копирования конфигов. (Не работает.)
Модераторы: SLEDopit, Модераторы разделов
-
ultros
- Сообщения: 24
- ОС: Linux
Re: Скрипт копирования конфигов.
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
Выглядеть это должно приблизительно так:
#!/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: Скрипт копирования конфигов.
Немного подправил.
Ругается вот на что.
в файле package.cfg указан путь к файлу и само название файла
Код: Выделить всё
#!/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 писал(а): ↑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: Скрипт копирования конфигов.
а backupsys чем не катит?
backupsys
backupsys
-
Voler
- Сообщения: 498
- ОС: Fedora
-
Voler
- Сообщения: 498
- ОС: Fedora
Re: Скрипт копирования конфигов.
Вот к этому, я пока привел.
Данный скрипт можно как угодно, дополнять.
Содержанеи моего файла /var/package.cfg
Можно так же просто указать:
/etc/httpd/conf/*.* - просто скопирует все файлы.
/etc/httpd/conf/* или каталоги + файлы. но тут возможно потребуется указать -R - рекурсивный перебор каталогов.
Если у каго есть, какие замечания готов выслушать.
Данный скрипт можно как угодно, дополнять.
Код: Выделить всё
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: Скрипт копирования конфигов.
не экономь на бекапах. копируй весь /etc а не отдельные файлы. если что-то напортачишь восстановить будет не проблема, а так придется половину /etc откуда-то вытягивать, т.к. есть только некоторые файлы. наверняка /etc - это не самое ценное на сервере (машине). может нужно бекапить /var или что там у тебя ещё не на рейде