Автор Тема: MC и как да маркирам файлове от дата до дата?  (Прочетена 1840 пъти)

masterross

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
Здравейте,

някой може ли да ми помогне?
Искам да копирам определени файлове от дата до дата?
Примерно от 02/11/2004 до 03/05/2005?

в МС има някакви опции за филтър но не знак как точно се исползват

Росс
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
С командата find се търси по дати.
Параметрите за дата са: -amin,  -atime,  -cmin, -ctime, -mmin, и -mtime
Има се предвид access time и modification time.

За да копираш въпросните файлове | (това е pipe) към cp

Цитат (masterross @ Окт. 25 2005,17:17)
... в МС има някакви опции за филтър но не знак как точно се исползват ...

P.S. Това MC - не го разбрах '<img'> Да не би де е Midnight Commander?
Активен

masterross

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
Благодаря ти за отговора!

МС е Midnight Commander както предположи '<img'>

а за -mtime нещо не ми стана ясно...
значи когато е -mtime -10 например означава - всички файлове от преди 10 дни до сега.. ами -mtime +10 какво значава?... направо ме заболя главата '<img'>
а трябва към 100 000 файла да прехвърля на друг сервер и изобщо не ми е ясно как ще стане това '<img'>((

ако можеш да ми помогнеш с конкретен пример ще е супер:
"искам да копирам всички файлове от /home/upload от дата 11/12/2004 до 05/07/2005 във 123.456.789.123 /home2/upload2"

тханкс,
Росс
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
Най-добре да напиша някой и друг пример. Пък ти ще схванеш идеята.

1. Всички файлове от текущата директория (с рекурсия, разбира се) модифицирани точно преди 7 дни.
    find . -mtime 7 -print

2. Същото като горното. В UNIX нещо може да се направи по повече от един начин '<img'> Аз си мисля, че това е твоя случай.
    find . -mtime +6 -mtime -8 -print

3. Така-а-а-а-а. И какво да ги правим сега? '<img'> Например ls
    ls -ld `find . -mtime +6 -mtime -8 -print`

4. А сега copy
    cp `find . -mtime +6 -mtime -8 -print` /tmp/DIR

5. Сетих се и друг начин. Този е по-стилен.
    find . -mtime +6 -mtime -8 -exec cp {} /tmp/DIR/ ';'

Честно да ти кажа последните две идеи ще трябва да ги пробвам за да видя как се оправят с рекурсията (създаване на поддиректории).

6. Преброяване на зайците '<img'>
    find . -mtime +6 -mtime -8 |wc -l

7. Интересен пареметър е -newer. Може да ти свърши работа.
    find . -newer first_file -print

8. А има и регулярни изрази. Това е пример за *.mp3 OR *.mpeg.
find . '(' -name *.mp3 -o -name *.mpeg ' ) ' -print

Та това са идеи разни за отскок '<img'>

Та да се върнем на твоя проблем. Варианти:
1. Използваш rcp вместо cp
2. Използваш tar. Правиш архив, копираш го на другата машина и там - restore.
Активен

masterross

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
Много ти благодаря !!!!
страшно ми помогна!

 ':ok:'

Росс
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
Благодарности приемам бутилирани  '<img'>
Активен

masterross

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
В моя случай фаиловете са само в 1 директория и са архиви, но за сметка на това са към 60ГБ и 6те ми отнеме към 7-8 часа да ги прехвърля всичките
за това искам да ги разделя, а не мога да си затворя форума за ден-два през това време '<img'>
юзерите ще се побъркат ако ги няма файловете '<img'>

още веднъж ти благодаря!

п.с.
имаш ли ICQ?
моето е 53686943 (The Drifter)

Росс
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
Ако са tar архиви - веднага ги gzip-вай и тогава по мрежата.

Ако не се подлагат на компресия, тогава има разни хитрини за on-line (със "заключване" на файловата система) или инкрементален backup.

Основният въпрос е: "Какво правят потребителите с тези архиви?"
Ако само ги четат - нямаш грижи. По-завъртяно е ако пишат в тях.

P.S. Нямам ICQ. Може да пишеш на e-mail-а.
Активен

masterross

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
значи файловете са *.zip, *.rar и картинки
те са уплоаднати от усерите чрез аттач мода за пхпбб.
и няма как да ги архивирам защото няма да имам място... всъщност ако ги разделя може и да стане '<img'>
ама много играчка '<img'>

предложиха ми по-добър хостинг и за това ги местя
защото текущия много често сдава багажа (апаша гърми много често на ден)
май не може да смогне на трафика...
ама не съм сигурен... трябва да се пробва...

Росс
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
Сега тръгвам. Утре ще дам още идеи.
Чао.
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
Хрумна ми идея за твоя проблем.
Мисля, че е по-добре архивите да ги дръпнеш, отколкото да ги изпратиш.

Накратко, решението е следното:
1. find на всички файлове модифицирани преди днес (така файловете, които се upload-ват в момента не ги закачаме) и резултата го насочваш към файл List.txt
2. Копираш List.txt на другата машина
3. използваш някой Download manager да свалиш въпросните архиви. Пример wget -i List.txt
Предимството пред обикновено копиране е, че може да зададеш bandwidth limit (няма да заемеш 100% от линията)
4. и накрая повтаряш същата процедура за последните архиви (от текущия ден).

И да ти е честит новият хостинг  '<img'>
Активен