The OpenNET Project / Index page

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

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

"Резервирование файлов под FreeBSD" 
Сообщение от Sergetv emailИскать по авторуВ закладки(ok) on 31-Май-05, 10:00  (MSK)
Стоит Файл-сервер (Free+Samba).
4 IDE винта (20Gb,60Gb,60Gb, 160Gb)
Сетевыми ресурсами являюстя каталоги на первых трех винтах (20,60,60).
Юзеры с Виндовых пишут туда свои файлы.
4 винт - резервный
Задача раз в сутки синхронизировать содержимое расшареных каталогов с первых трех винтов на четвером (резервном)
Я пробовал делать так:
$1 - Исходный каталог
$2 - Каталог на резервном диске, куда копируется исходный

1 скрипт:
(проверяет не создавались ли за день новые каталоги, если да - должен создавать их же на резервном)
#!/bin/sh
find $1 -type d -mtime 1 > $1/reserv_d.list
for a in `cat $1/reserv_d.list`; do
mkdir $2$a
echo  mkdir \'$2$a\'
done

2 скрипт:
(проверяет не создавались ли за день новые файлы, если да - должен копировать их на резервный)
find $1 -type f -mtime 1 > $1/reserv_f.list
for a in `cat $1/reserv_f.list`; do
        cp -v \'$a\' \'$2\'
done
Скрипты по крону в 3 ночи.
Проблема в том, что пользователи создают каталоги и файлы русскими буквами и с пробелами, типа ("Песни и фильмы Васи")
поэтому mkdir и cp с такими параметрами в скрипте у меня не работают

Я во Free недавно, вот в эту проблему уперся. Подскажите идею

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

 Оглавление

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

1. "Резервирование файлов под FreeBSD" 
Сообщение от Skif Искать по авторуВ закладки(ok) on 31-Май-05, 10:28  (MSK)
Самое простое решение - не писать скрипт на фре. сделать шару доступную с одной из выневых машин и в ней по шедулеру пускать бекап с архивированием или без на шару бекапа. Там с кодировками проблем не будет.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Резервирование файлов под FreeBSD" 
Сообщение от Skif Искать по авторуВ закладки(ok) on 31-Май-05, 10:30  (MSK)
>Самое простое решение - не писать скрипт на фре. сделать шару доступную
>с одной из выневых машин и в ней по шедулеру пускать
>бекап с архивированием или без на шару бекапа. Там с кодировками
>проблем не будет.

Хотя, добавлю, меня сей момент смущает - чудесно скрипты беапят данные. Может локаль не по человечески настроенна? Или в скрипте не помешает в принудиловку указать параметры локализации, так как в профиле пользователя от которого пускается скрипт стоит LANG C и т.д.?

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

3. "Резервирование файлов под FreeBSD" 
Сообщение от else emailИскать по авторуВ закладки(??) on 31-Май-05, 11:05  (MSK)
Локализация bash и монтирование дисков с нужной кодировской должно решить проблему.


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

4. "Резервирование файлов под FreeBSD" 
Сообщение от sergetv Искать по авторуВ закладки on 31-Май-05, 15:15  (MSK)
С локализацией как раз все вроде в порядке
- основная проблема- ПРОБЕЛЫ в именах файлов и каталогов - не хочет из скрипта такие файлы копировать и каталоги создавать, хоть застрелись. то что после пробела считает параметрами. :-( . Причем та же команда из консоли выполняется на ура. може с синтаксисом в скрипте что-то не то- кавычки не те  /не там? может кто подскажет (или проверит)? Фри 4.11.

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

5. "Резервирование файлов под FreeBSD" 
Сообщение от else emailИскать по авторуВ закладки(ok) on 31-Май-05, 15:28  (MSK)
А может перед копированием эти пробелы в подчеркивания перегонять?


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

6. "Резервирование файлов под FreeBSD" 
Сообщение от Sergetv emailИскать по авторуВ закладки(??) on 31-Май-05, 16:00  (MSK)
Пробелы в подчеркивания не очень хорошая идея. Копия и оригинал должны по максимуму совпадать, потому, что раз в месяц
файлы присутствующие в копии и отсутствующие в оригинале из копии удаляются.
я думаю что проблема в

for a in `cat $1/reserv_f.list`; do

если в файле reserv_f.list строки типа
/data21/video_2/Tonya Video/Stih.mp3
то скрипту отдается сначала
/data21/video_2/Tonya
а потом
Video/Stih.mp3

как такое лечить?

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

7. "Резервирование файлов под FreeBSD" 
Сообщение от AMDmi3 Искать по авторуВ закладки on 31-Май-05, 16:38  (MSK)
>я думаю что проблема в
>
>for a in `cat $1/reserv_f.list`; do
>
>если в файле reserv_f.list строки типа
>/data21/video_2/Tonya Video/Stih.mp3
>то скрипту отдается сначала
>/data21/video_2/Tonya
>а потом
>Video/Stih.mp3
Совершенно верно.

>как такое лечить?
Что-то вроде:

exec < "$1/reserv_f.list"
while read a; do
  cat "$a"
done

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

8. "Резервирование файлов под FreeBSD" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 31-Май-05, 16:40  (MSK)
>>я думаю что проблема в
>>
>>for a in `cat $1/reserv_f.list`; do
>>
>>если в файле reserv_f.list строки типа
>>/data21/video_2/Tonya Video/Stih.mp3
>>то скрипту отдается сначала
>>/data21/video_2/Tonya
>>а потом
>>Video/Stih.mp3
>Совершенно верно.
>
>>как такое лечить?
>Что-то вроде:
>
>exec < "$1/reserv_f.list"
>while read a; do
>  cat "$a"
>done

[test@test shell]$ cat 3.sh
#!/bin/sh

file=`cat 1`
echo $file
touch "$file"
[test@test shell]$ cat 1
test test
[test@test shell]$ ./3.sh
test test
[test@test shell]$ ls -l test\ test
-rw-rw-r--    1 test    test           0 May 31 15:40 test test
[test@test shell]$

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

9. "Резервирование файлов под FreeBSD" 
Сообщение от Sergetv emailИскать по авторуВ закладки(??) on 31-Май-05, 20:23  (MSK)
>Что-то вроде:
>
>exec < "$1/reserv_f.list"
>while read a; do
>  cat "$a"
>done

вроде ближе.
по в файле $1/reserv_f.list список файлов:

/data21/video_2/Tonya Video/Stih1.mp
/data21/video_2/Tonya Video/Stih2.mp
/data21/video_2/Tonya Video/Stih3.mp
/data21/video_2/Tonya Video/film1.mp
/data21/video_2/Tonya Video/еще чего-то.mp

и т.п.
как быть в таком случае?


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

10. "Резервирование файлов под FreeBSD" 
Сообщение от AMDmi3 Искать по авторуВ закладки on 31-Май-05, 21:14  (MSK)
>>Что-то вроде:
>>
>>exec < "$1/reserv_f.list"
>>while read a; do
>>  cat "$a"
>>done
>
>вроде ближе.
>по в файле $1/reserv_f.list список файлов:
>
>/data21/video_2/Tonya Video/Stih1.mp
>/data21/video_2/Tonya Video/Stih2.mp
>/data21/video_2/Tonya Video/Stih3.mp
>/data21/video_2/Tonya Video/film1.mp
>/data21/video_2/Tonya Video/еще чего-то.mp
>
>и т.п.
>как быть в таком случае?

Попробовал бы сначала. Это как раз для списка файлов.

man sh

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

11. "Резервирование файлов под FreeBSD" 
Сообщение от Sergetv emailИскать по авторуВ закладки(??) on 01-Июн-05, 09:17  (MSK)
>>>Что-то вроде:
>>>
>>>exec < "$1/reserv_f.list"
>>>while read a; do
>>>  cat "$a"
>>>done

>Попробовал бы сначала. Это как раз для списка файлов.
>
>man sh

sorry, попробую, вчера до сервера некогда было "дойти"

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

12. "Резервирование файлов под FreeBSD" 
Сообщение от Sergetv Искать по авторуВ закладки(??) on 29-Июн-05, 13:02  (MSK)
Наконец то "дошел" и настроил это резервое копирование
запускается так:
sh rezerv.sh /data12 /rezerv2
/data12 - каталог, который резервируется
/rezerv2 - каталог, куда резервируются файлы

Сам скрипт:
#!/bin/sh
find $1 -type d -mtime 1 > $1/reserv_d.list
tr ' ' '?' < $1/reserv_d.list > $1/reserv_d2.list
cat  $1/reserv_d2.list
exec > $1/reserv_d.sh
echo "#!/bin/sh"
for a in `cat  $1/reserv_d2.list`; do
echo "mkdir \"""$2$a"\"
done
find $1 -type f -mtime 1 > $1/reserv_f.list
tr ' ' '?' < $1/reserv_f.list > $1/reserv_f2.list
exec > $1/reserv_f.sh
echo "#!/bin/sh"
for a in `cat  $1/reserv_f2.list`; do
echo "cp -v \"""$a"\" \"$2$a\"
done
exit 0

Заумно, конечно, но зато работает (и с именами с пробелами и с русскими, только символов " и ? не должно быть в именах файлов, пока и не было :-)

если кто сможет лучше - пусть напишет

Теперь вторая проблема возникла: таким же макаром удалять из копии католога файлы, удаленные из оригинала.
Жду идей. (сам, конечно, тоже копаю:-)

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

13. "Резервирование файлов под FreeBSD" 
Сообщение от Sergetv Искать по авторуВ закладки(??) on 29-Июн-05, 13:04  (MSK)
Забыл добавить, в конце скрипта еще
sh  $1/reserv_d.sh
sh  $1/reserv_d.sh

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


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

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




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

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