The OpenNET Project / Index page

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

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

"Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 27-Сен-10, 18:02 
Уважаемые форумчане.

Помогите пожалуйста написать скрипт делающий следующуюю работу:

При запуске считывать из кофига дату и время и затем копировать файлы и каталоги (со структурой) старше этой даты в другой каталог. После этого записывать текущуюю дату в конфиг.

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

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от phpcoder email(ok) on 27-Сен-10, 19:27 
find-ом ищи, при помощи xargs и install копируй.

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

2. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 27-Сен-10, 19:38 
>find-ом ищи, при помощи xargs и install копируй.

C удовольствием последовал бы вашему совету, но проблема в том что в sh я не очень разбираюсь. Не могли бы вы привести пример скрипта?

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

3. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от Pahanivo (ok) on 28-Сен-10, 08:06 
>>find-ом ищи, при помощи xargs и install копируй.
> C удовольствием последовал бы вашему совету, но проблема в том что в
> sh я не очень разбираюсь. Не могли бы вы привести пример
> скрипта?

опять студент?
лес там ->

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

4. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 28-Сен-10, 08:21 
>>>find-ом ищи, при помощи xargs и install копируй.
>> C удовольствием последовал бы вашему совету, но проблема в том что в
>> sh я не очень разбираюсь. Не могли бы вы привести пример
>> скрипта?
> опять студент?
> лес там ->

Спасибо. Это "очень" помогло.

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

5. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от Pahanivo (ok) on 28-Сен-10, 09:47 
man find
man xargs
man sh
...
так лучше?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 28-Сен-10, 09:48 
> man find
> man xargs
> man sh
> ...
> так лучше?

Нет не лучше. Если бы я все понял из манов - я бы не задавал вопрос тут.
Ладно с find'ом разобрался, но как скопировать файлы с сохранением структуры директорий?

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

7. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от Pahanivo (ok) on 28-Сен-10, 10:14 
например так просто и быстро:
man tar:
--newer date
             (c, r, u modes only) Only include files and directories newer
             than the specified date.  This compares ctime entries.

tar -c - DIR | tar -x .....
както так ....
вообще посмотри man tar внимательно - он много че умеет - думаю тебе его одного по самые пАмидоры )


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

8. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 28-Сен-10, 10:15 
>[оверквотинг удален]
> --newer date
>            
>  (c, r, u modes only) Only include files and directories
> newer
>            
>  than the specified date.  This compares ctime entries.
> tar -c - DIR | tar -x .....
> както так ....
> вообще посмотри man tar внимательно - он много че умеет - думаю
> тебе его одного по самые пАмидоры )

Спасибо. Посмотрю.

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

9. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 28-Сен-10, 10:21 
>[оверквотинг удален]
> --newer date
>            
>  (c, r, u modes only) Only include files and directories
> newer
>            
>  than the specified date.  This compares ctime entries.
> tar -c - DIR | tar -x .....
> както так ....
> вообще посмотри man tar внимательно - он много че умеет - думаю
> тебе его одного по самые пАмидоры )

Нашел более удобный вариант с помощью pax. В итоге у меня получилась команда:
find . -type f  -depth -mtime -30m -exec pax -rw {} /var/backup/ \;

Однако остался последний момент. Скрипт будет запускаться по крону, поэтому мне нужно будет сохранить время запуска и при следующем запуске подставить в find это время (чтобы скопировались только новые файлы). Подскажите как это можно сделать.

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

10. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от Pahanivo (ok) on 28-Сен-10, 11:33 
> Однако остался последний момент. Скрипт будет запускаться по крону, поэтому мне нужно
> будет сохранить время запуска и при следующем запуске подставить в find
> это время (чтобы скопировались только новые файлы). Подскажите как это можно
> сделать.

startdate=`date "some_format"` #MUST BE FIRST!
find / bla bla bla ...
if [ $? -eq 0 ]; then
  echo $startdate > "date_file"
fi


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

11. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 28-Сен-10, 11:38 
>> Однако остался последний момент. Скрипт будет запускаться по крону, поэтому мне нужно
>> будет сохранить время запуска и при следующем запуске подставить в find
>> это время (чтобы скопировались только новые файлы). Подскажите как это можно
>> сделать.
> startdate=`date "some_format"` #MUST BE FIRST!
> find / bla bla bla ...
> if [ $? -eq 0 ]; then
>   echo $startdate > "date_file"
> fi

Спасибо. А как потом эту дату прочитать и вставить в find?

PS. Что означает эта конструкция: " $? -eq 0 "

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

12. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от Pahanivo (ok) on 28-Сен-10, 11:45 
> Спасибо. А как потом эту дату прочитать и вставить в find?

lastdate=`cat "date_file"`
find / bla bla ${lastdate} bla bla
> PS. Что означает эта конструкция: " $? -eq 0 "

проверка кода завершения - на случай если архивация завершилась фЕйлом


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

13. "Скрипт копирование файлов со структурой директорий."  +/
Сообщение от exp131 email(ok) on 28-Сен-10, 15:58 
>> Спасибо. А как потом эту дату прочитать и вставить в find?
> lastdate=`cat "date_file"`
> find / bla bla ${lastdate} bla bla
>> PS. Что означает эта конструкция: " $? -eq 0 "
> проверка кода завершения - на случай если архивация завершилась фЕйлом

Спасибо за подсказки.
Задача решена.

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

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

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




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

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