The OpenNET Project / Index page

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

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

"Скрипт архивирования"  
Сообщение от oaealex on 05-Дек-07, 16:04 
Есть C++ проект. Поделитесь опытом - как правильно проффесионально написать скрипт архивирования, который бы сохранял структуру папок текущего каталога. и некого каталога лежащего допустим в другом месте.
Каталоги могут  - меняться - добавляться.
Сейчас используется чтото типа такого:

SRC=myprog.tar.bz2
EX=\*.cpp \*.h* \*.mak \*.sh
tar -cvf $SRC $EX
scp $SRC login@destcomp:/arch/myprog

Что тут плохо - подпапки надо указывать руками, расширения для подпапок прописывать явно.

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

 Оглавление

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


1. "Скрипт архивирования"  
Сообщение от angra (ok) on 05-Дек-07, 18:07 
У вас есть объективные причины чтобы использовать именно такой(архивирование с копированием) способ синхронизации/бэкапа? Просто в 99% случаев rsync или система контроля версий значительно лучше решают эту задачу. Учитывая что у вас данные это С++ проект, какая либо система контроля версий просто необходима.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Скрипт архивирования"  
Сообщение от oaealex on 06-Дек-07, 09:06 
>У вас есть объективные причины чтобы использовать именно такой(архивирование с копированием) способ
>синхронизации/бэкапа? Просто в 99% случаев rsync или система контроля версий значительно
>лучше решают эту задачу. Учитывая что у вас данные это С++
>проект, какая либо система контроля версий просто необходима.

Почитал про rsync - вещь видимо неплохая, но достаточно навороченная, требующая установки серверной части и значительных настроек. Если проект ведет один человек - всего этого многобразия не нужно.
По крайней мере осознаной необходимости не возникало. Для больших проектов наверно это и оправдано.

в виндовом rar ест такой ключик -u - обнавлять файлы, -r - включать поддиректории,
Получается 3 строки

set P=App.rar
rar u -r -x@arc_NO %P% @arc_list
copy %P% Q:\arh_prj\АПП\


Где в arc_list - перечень архивируемых расширений файлов и папок не лежащих в текущей
директории.

Разве в скрите Linux нельзя написать также просто и красиво ? Наверно можно.
Как ?

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

5. "Скрипт архивирования"  
Сообщение от angra (ok) on 06-Дек-07, 11:09 
Вы хотите чтобы я за вас почитал man tar и нашел нужные ключи? Особенно с учетом того что есть GNU и BSD версия tar имеющие очень различный набор и неизвестно какая стоит у вас.

В rsync ничего сложного нет, никакой дополнительной установки не требуется он замечательно работает через ssh. Я его применяю даже когда в синхронизируемых каталогах всего несколько файлов. Просто не вижу чем архивирование, перенос архива и его разворачивание может быть удобней,  ну не предназначена архивация для этого, это все равно что забивать гвозди долотом. В винде просто нет rsync и поэтому используется костыль в виде архиватора, но не надо виндовые привычки тащить в другую систему.


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

7. "Скрипт архивирования"  
Сообщение от oaealex on 07-Дек-07, 09:06 
>Вы хотите чтобы я за вас почитал man tar и нашел нужные
>ключи?

Отмечено, и не раз, что сообщество Linux отличает некая грубость в общении - и видимо считается что чем круче пошлешь - тем более крутой ты "перец" и сильно тебя уважать все начнут.
Командная строка так влияет ? :)
Всетаки видимо от человека зависит.

Про rsync и Subversion понятно и при наличии свободного окна они конечно
будут изучены и применен более подходящий вариант, коль иных путей нет.

>tar имеющие очень различный набор и неизвестно какая стоит у вас.

Понятно.
>
>В rsync ничего сложного нет, никакой дополнительной установки не требуется он замечательно
>работает через ssh. Я его применяю даже когда в синхронизируемых каталогах
>всего несколько файлов. Просто не вижу чем архивирование, перенос архива и
>его разворачивание может быть удобней,  ну не предназначена архивация для
>этого, это все равно что забивать гвозди долотом. В винде просто
>нет rsync и поэтому используется костыль в виде архиватора, но не
>надо виндовые привычки тащить в другую систему.

Да есть там все, ребят, и системы контроля версий и много чего другого.
Но для каждой задачи - удобна своя ОС.

Спсибо за подсказки.

Алексей.

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

8. "Скрипт архивирования"  
Сообщение от angra (ok) on 09-Дек-07, 20:31 
>>Вы хотите чтобы я за вас почитал man tar и нашел нужные
>>ключи?
>
>Отмечено, и не раз, что сообщество Linux отличает некая грубость в общении
>- и видимо считается что чем круче пошлешь - тем более
>крутой ты "перец" и сильно тебя уважать все начнут.

Странный вы человек. Причем здесь грубость. Вы что считаете, что я или любой другой юниксоид помнит наизусть все ключи для всех версий tar? Мне, например,при использовании tar хватает всего пяти ключей:zjctx, причем я не уверен что под BSD версией tar все они будут работать, но когда мне понадобится выполнить BSD tar я просто загляну в man. Так что для ответа на ваш вопрос мне пришлось бы самому открыть man и поискать ключи, подходящие вам. Я не вижу ни одной причины почему вы не могли бы сделать это сами, особенно с учетом того, что мне неизвестно что за tar у вас на машине. Помощь человеку в решении проблемы заключается в направлении его в нужную сторону, а не в делании за него его работы.

>Командная строка так влияет ? :)

Нет, долгая жизнь в сетевом обществе, начиная с fido, и знакомство с нэтикетом. А вообще рекомендую почитать "как правильно задавать вопросы", это поможет не только на этом форуме, но и на многих других.

>Да есть там все, ребят, и системы контроля версий и много чего другого.

Покажите мне rsync в винде "изкаропки". У меня он есть потому что стоит cygwin, но в дефолтной поставке его нет. Был бы rsync+ssh там изначально врядли вам пришло бы в голову использовать архиватор для синхронизации.

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

9. "Скрипт архивирования"  
Сообщение от oaealex on 10-Дек-07, 07:48 
>Вы что считаете, что я или
>любой другой юниксоид помнит наизусть все ключи для всех версий tar?

Уважаемый Angra, ну неужели Вы думаете, что я полез в конфу предварительно не проштудировав ключи tar в man ? Когда я их не нашел - то возникло 2 версии:
1) Я их тупо не увидел в Mandrake 10
2) Их нет.

Поэтому и возник данный пост - в надежде что да - есть - и пусть "ткнут носом" -
ну не "загнется" от этого мое и без того несильно взращенное самолюбие :).

Если события развиваются по п.2 - то это какбы противоречет Unix - way - "система - комплекс маленьких утилит - каждая из которых ХОРОШО делает свою работу" :)
Рекурсивный обход каталогов - ну что тут хитрого ? И даже если мне скажут - "блин, знаеш -вещь конечно неплохая - но не сделали еще"- я тоже это пойму. Но когда мне говорят - знаеш есть такая вещь - как система контроля версий - и ты ее используй - а не ищи "ключик" - такой подход четео напрягает.
Не из за того, что ради малого ключика - приходится ставить систему контроля (да прекрасная она наверняка и могуча - ну никто не спорит), да воспользуюсь я ей - нет слов - только вопрос - обойти рекурсивно каталоги - уже "заедает" - что, это невозможно ? :) А то что так никто не делает - очень сомнительно.
Да напишу я в шелле такой скрипт - только велосипед изобретать не хочется.

>Помощь человеку в решении проблемы заключается в направлении его
>в нужную сторону, а не в делании за него его работы.

Безусловно. Меня только веселят ответы - Вопрос:...? Ответ: man abcd.
Круто конечно - ни комментариев, не обоснования своей позиции, тем более что человек
задающий вопрос как правило уже этот man abcd  - "...и так и сяк и об косяк...".
Ну в данном случае с позицией все понятно :)

Да ладно, ребят, все равно спасибо за дискурсию. Позицию вашу я понял и в конце концов буду двигаться по вашей подсказке, поскольку не сомневаюсь в вашей компетенции и
опыте - ну наверняка очень поболее моего :)

Ну а тот факт - что в Linux есть над чем поработать - причем в самых кажется "хоженных" местах - "к бабке не ходи".

>>Да есть там все, ребят, и системы контроля версий и много чего другого.
>
>Покажите мне rsync в винде "изкаропки". У меня он есть потому что
>стоит cygwin, но в дефолтной поставке его нет. Был бы rsync+ssh
>там изначально врядли вам пришло бы в голову использовать архиватор для
>синхронизации.

Не буду спорить - не компетентен :) Но Архиватор в Винде - есть и работает и делает свою маленькую работу там - хорошо :) Но за деньги - гад такой :)

С уважением Алексей.

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

10. "Скрипт архивирования"  
Сообщение от angra (ok) on 10-Дек-07, 19:50 
tar очень хорошо делает СВОЮ работу, а gnu версия добавляет ему еще и несколько лишних, но удобных на практике опций. Если вы его пытаетесь использовать не по назначению, то кто вам доктор. Не совсем понятно что вы хотите от него получить. tar изначально работает рекурсивно, при желании это отключается --no-recursion. Если вам нужна лишь часть каталогов вы их перечисляете, если лишь часть файлов, то используйте --exclude, если при раскрутке не нужно перезаписывать файлы используйте -k. Что за страшные опции вы используете для rar что не нашли им аналагов в tar? В крайнем случае если уж список у вас формируется особо извращенным образом, то формируйте его при помощи find и скармливайте tar.


>Ну а тот факт - что в Linux есть над чем поработать - причем в самых кажется "хоженных" местах - "к бабке не ходи".

Чаще всего надо работать над инерцией мышления пользователей пришедших с других систем. Ведь не так как в винде/маке/досе это вовсе не значит плохо, более того зачастую это более эффективно, хоть некоторым и непривычно. Вы бы видели какой шок вызывает винда при переходе на нее тех, кто начинал в линуксе, в том числе и на десктопе (который по непонятным мне причинам считается сильным местом в винде), про администрирование и говорить нечего.

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

11. "Скрипт архивирования"  
Сообщение от oaealex on 11-Дек-07, 08:52 
>Что за страшные опции вы используете для rar что не нашли им аналагов в
>tar?

Не знаю как в тар - а наша дискурсия точно рекурсивна, т.к. ответ предполагает уход на пост номер 2 в этой ветви :) Бррр :)

Спасибо, Angra за ответы.
Удачи.
Алексей.

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

3. "Скрипт архивирования"  
Сообщение от DeadMustdie email(??) on 06-Дек-07, 09:41 
Странный у Вас скрипт получился. Я бы использовал нечто типа

dmpfile=/home/DATA/dumps/data.tar.bz2
srcdir=/home/me/projects
trgdir=login@dest:/arch/projects
cd $srcdir && tar cfj $dmpfile . && scp $dmpfile $trgdir && rm -f $dmpfile

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

4. "Скрипт архивирования"  
Сообщение от DeadMustdie email(??) on 06-Дек-07, 09:41 
А вообще Subversion рулит.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Скрипт архивирования"  
Сообщение от Arpo email(ok) on 06-Дек-07, 13:03 
>А вообще Subversion рулит.

Действительно на днях поставил SVN пока все довольны...
Ставится на раз-два, настраивается еще проще...

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

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

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




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

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