| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | «  : 29-09-2010 09:32 »  |  | 
 
 Добрый ... на вашем сайте(https://club.shelek.ru/viewart.php?id=294 ) есть полезный скрипт с помощью него вроде как можно задмпить систему исключив некоторые каталоги. скрипт писан на perl и скрипт использует модуль Config::INI::Reader а вот установить не получилось (((  Добавлено через 3 часа, 32 минуты и 12 секунд:root@mouse-desktop:/home/mouse/backup/Config-INI-Reader-Ordered-0.011# perl Makefile.PL Cannot determine perl version info from lib/Config/INI/Reader/Ordered.pm
 Cannot determine author info from lib/Config/INI/Reader/Ordered.pm
 Cannot determine license info from lib/Config/INI/Reader/Ordered.pm
 Warning: prerequisite Config::INI::Reader 0 not found.
 Writing Makefile for Config::INI::Reader::Ordered
 root@mouse-desktop:/home/mouse/backup/Config-INI-Reader-Ordered-0.011# make
 Skip blib/lib/Config/INI/Reader/Ordered.pm (unchanged)
 Manifying blib/man3/Config::INI::Reader::Ordered.3pm
 root@mouse-desktop:/home/mouse/backup/Config-INI-Reader-Ordered-0.011# make testPERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
 t/00-load.t ......... 1/1
 #   Failed test 'use Config::INI::Reader::Ordered;'
 #   at t/00-load.t line 6.
 #     Tried to use 'Config::INI::Reader::Ordered'.
 #     Error:  Can't locate Config/INI/Reader.pm in @INC (@INC contains: /home/mouse/backup/Config-INI-Reader-Ordered-0.011/inc /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/lib /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/arch /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl) at /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/lib/Config/INI/Reader/Ordered.pm line 5.
 # BEGIN failed--compilation aborted at /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/lib/Config/INI/Reader/Ordered.pm line 5.
 # Compilation failed in require at (eval 4) line 2.
 # BEGIN failed--compilation aborted at (eval 4) line 2.
 Use of uninitialized value $Config::INI::Reader::Ordered::VERSION in concatenation (.) or string at t/00-load.t line 9.
 # Testing Config::INI::Reader::Ordered , Perl 5.010001, /usr/bin/perl
 # Looks like you failed 1 test of 1.
 t/00-load.t ......... Dubious, test returned 1 (wstat 256, 0x100)
 Failed 1/1 subtests
 t/pod-coverage.t .... skipped: Test::Pod::Coverage 1.08 required for testing POD coverage
 t/pod.t ............. skipped: Test::Pod 1.22 required for testing POD
 t/reader-ordered.t .. 1/4
 #   Failed test 'use Config::INI::Reader::Ordered;'
 #   at t/reader-ordered.t line 6.
 #     Tried to use 'Config::INI::Reader::Ordered'.
 #     Error:  Can't locate Config/INI/Reader.pm in @INC (@INC contains: /home/mouse/backup/Config-INI-Reader-Ordered-0.011/inc /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/lib /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/arch /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl) at /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/lib/Config/INI/Reader/Ordered.pm line 5.
 # BEGIN failed--compilation aborted at /home/mouse/backup/Config-INI-Reader-Ordered-0.011/blib/lib/Config/INI/Reader/Ordered.pm line 5.
 # Compilation failed in require at (eval 4) line 2.
 # BEGIN failed--compilation aborted at (eval 4) line 2.
 Can't locate object method "read_string" via package "Config::INI::Reader::Ordered" at t/reader-ordered.t line 8.
 # Looks like you planned 4 tests but ran 1.
 # Looks like you failed 1 test of 1 run.
 # Looks like your test exited with 255 just after 1.
 t/reader-ordered.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
 Failed 4/4 subtests
 
 Test Summary Report
 -------------------
 t/00-load.t       (Wstat: 256 Tests: 1 Failed: 1)
 Failed test:  1
 Non-zero exit status: 1
 t/reader-ordered.t (Wstat: 65280 Tests: 1 Failed: 1)
 Failed test:  1
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 4 tests but ran 1.
 Files=4, Tests=2,  0 wallclock secs ( 0.03 usr  0.06 sys +  0.13 cusr  0.08 csys =  0.30 CPU)
 Result: FAIL
 Failed 2/4 test programs. 2/2 subtests failed.
 make: *** [test_dynamic] Ошибка 255
 
нашел ... поставил пакет под ubuntu libconfig-ini-perlДобавлено через 1 час, 53 минуты и 28 секунд: а куда там добавить чтоб создавались папки если их нет и дату на файл ? |  
						| 
								|  |  
								| « Последнее редактирование: 29-09-2010 13:05 от mouserok » |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #1 : 29-09-2010 16:20 »  |  | 
 
 mouserok, во-первых, соблюдай пунктуацию, когда пишешь! Читать такие шифрограммы - дело весьма не интересное.
 Последний вопрос не понял.
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #2 : 29-09-2010 16:36 »  |  | 
 
 какой код и куда нужно добавить чтоб 1. создались директории если их нет (0,1,2,3,4,5,6,7,8,9)
 2. файл создавался с текущей датой и временем
 3. добавить еще один параметр для создания директорий (tmp\0, tmp\1, tmp\2 и т.д.) - иногда возникает надобность создать еще один полный дамп но при этом не удалить предыдущие
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #3 : 29-09-2010 17:00 »  |  | 
 
 mouserok, я правильно понимаю - Perl ты видишь впервые?
 Подготавливать среду - не задача этого скрипта. Создай все заранее - руками или еще как.
 |  
						| 
								|  |  
								| « Последнее редактирование: 29-09-2010 17:02 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #4 : 30-09-2010 06:32 »  |  | 
 
 я понимаю что я тупо прошу халяву ... но я с perl дело не имел, а скрипт довольно таки хорош благодаря тому что там можно исключить папки. Было б это на sh - сам бы как-то дописал, а тут долго раздуплятся буду ((почему прошу создать среду - всё из-за дополнительного параметра запуска
 дополнительный параметр должен дать создать еще одну папку (имя параметра) а в нем структуру
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #5 : 30-09-2010 06:53 »  |  | 
 
 mouserok, не смеши тапочки ты уже второй день бодаешься с несуществующей проблемой, и ссылаешься на не желание изучать язык. Но если ты знаешь шел, то почему ты не применишь эти знания к перл, или хотя бы почитать справочник. В крайнем случае воспользоваться услугами Великого и Ужасного |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #6 : 30-09-2010 08:13 »  |  | 
 
 потому что нужно вникнуть в весь скрипт а на это уйдёт довольно много времени ... другое дело когда человек знает этот код изнает что в него дописать ... я бы на форум не писал если бы я знал что меня будут посылать на поисковик с банальной фразой тупо сделать папку.... я не имею тех познаний в этой отрасли которые имеете ВЫ |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #7 : 30-09-2010 08:22 »  |  | 
 
 поверь, я perl, к своему стыду, знаю очень плохо. Но у меня достаточно понимания для того чтоб найти место в коде где нужно создать требуемій каталог.
 Тебе єтот скрипт пользовать. Следовательно, в случае проблем, тебе же в нем и разбираться, если что сломается.
 
 Итак...
 что тебе надо?
 Создать каталог, в который будет делаться бекап, если он не существует.
 
 Проверить существование файла (каталога)
 Создать если не существует.
 
 Две строчки, ну максимум три. 20 минут гугления.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #8 : 30-09-2010 08:42 »  |  | 
 
 хм ... я извеняюсь за не определенность ... но я так понимаю подобное можно сделать с помощью скрипта и команды stat -c %i /home
 можно какой нить пример на BASH вычитывания из файла данных а потом их вывод через echo - или что-то подобное на эту тему
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #9 : 30-09-2010 09:34 »  |  | 
 
 проверяем существование файла
 $name = "имя католога";
 if (-e $name) (
 echo "Файл сушествует\n";
 } else (
 mkdir $name
 }
 
 допилить напильником.
 
 
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #10 : 30-09-2010 10:09 »  |  | 
 
 я не это имел ввиду  если запустить  stat -c %i /homestat -c %i /home/user
получим 4567 15877 мне эти числа нужно далее подставить в  строку типа 4567, 15877 и хотел чтоб можно было создать файлик к примеру dirs.ini в котором были строки типа  которые в дальнейшем можно было запустить с командой stat -c %i   и полученное значения использовать в коммандной строке |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Finch 
								СпокойныйАдминистратор    Offline 
								Пол:    
								Пролетал мимо
								
								
								
								
								
							 | 
								|  | « Ответ #11 : 30-09-2010 12:12 »  |  | 
 
 Ну и в чем проблема? Это вмешается в первую ознакомительную главу книги, ссылку на которую дал RXL. #! /usr/bin/perl -w
 open(INI, "stat.ini") or die "Не могу открыть файл stat.ini";
 $string="";
 while(<INI>) {
 $string =$string.", " if ($string);
 chomp($string = $string.`stat -c \%i $_`);
 }
 print $string."\n";
 close(INI);
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Не будите спашяго дракона.              Джаффар (Коша) |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #12 : 30-09-2010 12:44 »  |  | 
 
 )) ... так я просил на bash |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Finch 
								СпокойныйАдминистратор    Offline 
								Пол:    
								Пролетал мимо
								
								
								
								
								
							 | 
								|  | « Ответ #13 : 30-09-2010 12:56 »  |  | 
 
 В свое время я сделал так. /etc/dumper.confCONFIG=/etc/dumper.confif [ -f ${CONFIG} ]; then
 . ${CONFIG}
 tempIFS=$IFS
 IFS=";"
 
 for loop in ${exc[$DL]}
 do
 st=`/usr/bin/stat -c %i $loop`
 if [ -n $st ]; then
 
 if [ -z $er ]
 then
 er="-e "
 else
 er=$er","
 fi
 er=${er}${st}
 fi
 done
 IFS=$tempIFS
 fi
 
#! /bin/sh
 #Directory is not need include in dump
 exc[0]=""
 exc[1]="/tmp;/var/spool/mail"
 exc[2]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[3]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[4]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[5]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[6]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[7]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[8]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 exc[9]="/tmp;/var/spool/mail;/var/log;/var/lib/mysql"
 
Хотя этот раздел вообше то по perl. |  
						| 
								|  |  
								|  |  Записан | 
 
 Не будите спашяго дракона.              Джаффар (Коша) |  |  | 
	| 
			| 
					
						| mouserok 
								Интересующийся    Offline | 
								|  | « Ответ #14 :  30-09-2010 13:37 »   |  | 
 
 и куда этот код вставить что не использовать Config::INI::Reader    |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Finch 
								СпокойныйАдминистратор    Offline 
								Пол:    
								Пролетал мимо
								
								
								
								
								
							 | 
								|  | « Ответ #15 : 30-09-2010 15:41 »  |  | 
 
 mouserok, Я извиняюсь, но ты уж определись, тебе нужен perl или bash Script? В обоих случаях я тебе дал код, который просто нужно допилить под свои нужды.
 PS. С таким твоим подходом, я так чувствую твои темы скоро начнут сваливать в раздел "Срочно пАмАгите".
 |  
						| 
								|  |  
								| « Последнее редактирование: 30-09-2010 16:06 от Finch » |  Записан | 
 
 Не будите спашяго дракона.              Джаффар (Коша) |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #16 : 30-09-2010 19:18 »  |  | 
 
 mouserok, по моему ты и Bash не знаешь. Вот рабочий скрипт "getinodes.sh": #!/bin/sh
 [ $# -ne 1 -o ! -r "$1" ] && {
 echo "Usage: $0 filename" >&2
 exit 1
 }
 
 INPUTFILE="$1"
 
 while read FILE
 do
 INODE=$(stat -c %i "$FILE" 2>/dev/null) \
 && echo -n ",$INODE" \
 || echo "Warning: file '$FILE' is not exists." >&2
 done <$INPUTFILE | sed 's/^,//'
 
 exit 0
 
 |  
						| 
								|  |  
								| « Последнее редактирование: 30-09-2010 19:24 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	|  |