The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите со скриптом!!!"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите со скриптом!!!" 
Сообщение от Igoryan emailИскать по авторуВ закладки(??) on 14-Сен-05, 09:13  (MSK)
Значит так есть папка с файлами в которую всё льют что-то.
Надо зделать такой скрипт который бы смотрел что там нового в этой папке которые файлы менялись и копировал эти файлы в другую дерикторию.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите со скриптом!!!" 
Сообщение от Makc2K Искать по авторуВ закладки(ok) on 14-Сен-05, 10:21  (MSK)
>Значит так есть папка с файлами в которую всё льют что-то.
>Надо зделать такой скрипт который бы смотрел что там нового в этой
>папке которые файлы менялись и копировал эти файлы в другую дерикторию.
>


man find - очень полезная штука, особенно в твоем случае.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите со скриптом!!!" 
Сообщение от NoName Искать по авторуВ закладки on 14-Сен-05, 12:30  (MSK)
>>Значит так есть папка с файлами в которую всё льют что-то.
>>Надо зделать такой скрипт который бы смотрел что там нового в этой
>>папке которые файлы менялись и копировал эти файлы в другую дерикторию.
>>
>
>
>man find - очень полезная штука, особенно в твоем случае.

настройте CVS!

MyHomePage - http://surgutnet.ru

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите со скриптом!!!" 
Сообщение от Gennadi emailИскать по авторуВ закладки(??) on 15-Сен-05, 02:40  (MSK)
>>>Значит так есть папка с файлами в которую всё льют что-то.
>>>Надо зделать такой скрипт который бы смотрел что там нового в этой
>>>папке которые файлы менялись и копировал эти файлы в другую дерикторию.
>>>
>>
>>
>>man find - очень полезная штука, особенно в твоем случае.
>
>настройте CVS!
>
>MyHomePage - http://surgutnet.ru

Сначала сделаем четыре папки:

/vtrak/raid_a - папка с файлами в которую всё льют что-то.( можно и любую другую ... например: /srv/www/htdocs  или ещё как...)
/vtrak/raid_b - копия папки "/vtrak/raid_a" ( можно и любую другую ...)
/vtrak/raid_c - папка, в которой будем смотреть что там нового в папке "/vtrak/raid_a" какие файлы менялись (по чётным неделям).
/vtrak/raid_d - папка, в которой будем смотреть что там нового в папке "/vtrak/raid_a" какие файлы менялись (по нечётным неделям).


Это запишем в /etc/crontab

10 0 * * 7     root    rsync -au /vtrak/raid_a /vtrak/raid_b
0 22 * * 1-6   root    /usr/local/bin/backup.sh


(Первая запись)
Это означает что каждое воскресенье будут синхронизироваться папки "/vtrak/raid_a" и "/vtrak/raid_b".

(Bторая запись)
В остальные дни недели - файлы которые менялись, будут копироваться в дЕрИктории "/vtrak/raid_с" или "/vtrak/raid_в".


Этот скрипт "backup.sh" поместим в директорию "/usr/local/bin"

===========================   backup.sh    =========================================================================
#/bin/bash
RAID_A="/vtrak/raid_a/"  # или ещё как... /srv/www/htdocs/"
RAID_B="/vtrak/raid_b/"
RAID_C="/vtrak/raid_c/"
RAID_D="/vtrak/raid_d/"
WOCHE=`date +%W`
MAIL="admin@my_domain.ru"
ORG="My_Organisation"
##############################################################################
cd /usr/local/bin
echo "Старт Backup-Системы в `date`" > mail.txt
echo "-------------------------------------------------------------------------------" >> mail.txt
echo "" >> mail.txt
echo "" >> mail.txt
echo "    .'  \`." >> mail.txt
echo '    |a_a  |' >> mail.txt
echo "    \<_)__/        Этот E-Mail автоматически сгенерирован " >> mail.txt
echo "    /(   )\        Backup-Системой предприятия $ORG." >> mail.txt
echo "   /\\\`> < /\ " >> mail.txt
echo "   \\_|=='|_/" >> mail.txt
echo "--------------------------------------------------------------------------------" >> mail.txt
echo "`diff -r $RAID_A $RAID_B`" > list_tmp
cat list_tmp | grep 'Only in' > file_tmp
#cat list_tmp |sed 's/^>/d' > file_tmp
cat file_tmp | sed 's/^Only\ in\ //g' > new_file
while [ ! -z "`head -n1 new_file`" ]
do
NEW_FILE="`head -n1 new_file | cut -d ":" -f 2 | sed -e 's/^\ //g'`"
if [ `expr $WOCHE % 2` = 1 ]
then
RAID="/vtrak/raid_c"
echo "$RAID_A" > raid_tmp
sed -e 's/\//\\\//g' raid_tmp > new_tmp | cp new_tmp raid_tmp
RAID_NEW=`cat raid_tmp`
NEW_PATH=`head -n1 new_file | awk -F ":" ' {print $1}'| sed -e "s/$RAID_NEW//g"`
mkdir -p $RAID_C"$NEW_PATH"
cp -av $RAID_A"$NEW_PATH/$NEW_FILE" $RAID_C"$NEW_PATH" >> control.txt
else
RAID="/vtrak/raid_d"
NEW_PATH=`head -n1 new_file | awk -F ":" ' {print $1}'| sed -e "s/$RAID_NEW//g"`
mkdir -p $RAID_D"$NEW_PATH"
cp -av $RAID_A"$NEW_PATH/$NEW_FILE" $RAID_D"$NEW_PATH" >> control.txt
fi
sed -e "1d" new_file > file_tmp && cp file_tmp new_file
done
echo "

Следующие файлы были сегодня изменены ( см. файл : control.txt) и скопированы в директорию $RAID.

-----------------------------------------------------------------------------------------

Заполнение разделов на дисках:

`df -h`
-----------------------------------------------------------------------------------------
Backup закончен `date`" >> mail.txt
echo "`cat mail.txt`" | mailx -s "Backup предприятия $ORG `date`." -a control.txt $MAIL
rm -f *tmp new* *.txt
###############################################################################
==========================================================================================================


Может это то что Вам надо?...


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Помогите со скриптом!!!" 
Сообщение от Gennadi emailИскать по авторуВ закладки(??) on 15-Сен-05, 04:12  (MSK)

else
RAID="/vtrak/raid_d"
* echo "$RAID_A" > raid_tmp
* sed -e 's/\//\\\//g' raid_tmp > new_tmp | cp new_tmp raid_tmp
* RAID_NEW=`cat raid_tmp`
NEW_PATH=`head -n1 new_file | awk -F ":" ' {print $1}'| sed -e "s/$RAID_NEW//g"`
mkdir -p $RAID_D"$NEW_PATH"
cp -av $RAID_A"$NEW_PATH/$NEW_FILE" $RAID_D"$NEW_PATH" >> control.txt
fi

* - помеченные звёздочкоё (*) три строки при коприроиании выпали.... надо добавить в скрипт!

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Помогите со скриптом!!!" 
Сообщение от Igoryan emailИскать по авторуВ закладки(??) on 15-Сен-05, 11:15  (MSK)
СПС!!!!!!!!!!!!!!!!!!!!!!!!!!!
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру