Ժամանակն է bekapinga կրկին 🙂 Երեկ ես հասկացա,, որ ես մոռացել եմ անել ինչ-որ ապահովված են բոլոր ֆայլերը իրական 2 մեքենաներ. Տիկինը, կա տարբերակ պահելու համար. Քանի որ մեքենա թեստը, պետք չէ, ով գիտի, թե քանի պլաստիկ համակարգի վերականգնման, ես դիմել իր հին սցենարը որտեղ կա ինչ-որ պարզունակ ֆունկցիոնալությունը. Ընդհանրապես դա շատ տգեղ է, եւ նրա лупсват հայտնի գործառույթները, ասենք զգույշ լինել միայն 1 արխիվ առանձին-առանձին, որ կոդ է ստատիկ այդ կրկնողություններից. Затова реших да го пренапиша, като този път не го надрасквма за 10 արձանագրություն. В новата си версия вече се подържат 10 стари backup файла. Което си една добра цифра.

#!/bin/bash

#path to tar command
TAR="$(which tar) cvzf"

function backup {

#path to beckup folder
cd $1

#remove oldest archive
rm -r *.10.tgz
sleep 3 #time for removing

#move old archives, we will save 10 old files
for i in {9..1}
do
let "n=$i+1"
mv "www.$i.tgz" "www.$n.tgz"
mv "mysql.$i.tgz" "mysql.$n.tgz"
mv "cron.$i.tgz" "cron.$n.tgz"
done

#and move the newest : )
mv www.tgz www.1.tgz
mv mysql.tgz mysql.1.tgz
mv cron.tgz cron.1.tgz

#path to first folder
$TAR www.tgz /var/www/
sleep 2
#path to second folder
$TAR mysql.tgz /var/lib/mysql/
sleep 2
}

#call backup function with folder path arg
backup /media/backup1
sleep 2
backup /media/backup2

#E0F

В общи линии нещата са ясни. Имам 2 монтирани дяла за бекъп в /media и в тях се наливат новите архиви като преди това се преименуват старите. Структурата на имената е очевидна и при ls команда ориентира е интуитивен.

Ընդլայնված by Zemanta

Այսօր ես պատմել ձեզ իրադարձություններում շուրջ մեկ սերվերի հետ Suhosin թիզ, եւ ինչպես է "Debian Sqeeze զբաղվել դրանով. Հիմա սկսենք մի քիչ հեռվից. Երբ եք տեղադրել php իսկ համակարգի Debian (կայուն է, այլ ես չգիտեմ, թե ինչպես) անպայման դուք պետք է տեղադրել suhosin պն նրան. Ինձ դուր է գալիս մեկ плу-кадърно համակարգը գրված php, եւ ես էլ кардиналното որոշումը անելու փոխարեն կարգաբերում համակարգի և հակառակը հաշվետվությունում մշակողի, որ թողարկել կարկատել անվտանգության համար, որպեսզի հավաքել գլխացավ. Ընդհանուր առմամբ, ես կարող եմ համարձակորեն ասել, որ սա մեկն է առավել հիմար որոշումներ, երբեւէ. Նախ հեռացնել մոդուլ php5-suhosin վերսկսել web server-a և փաթեթավորում լուչ – patch-a դեռ բեռնվում. Հետո շատ կարճ ակնարկ գտնել, որ փաթեթը компилируется եւ несется հենց կոդ է, որը նշանակում է, որ ոչ մի համր, կամ հեռացնել, եթե դուք չեք recompile կոդ նորից առանց կարկատել. Որոշեք, որ դուք պետք է նրա дръппа եւ прекомпилирам է դեբյուտանտ փաթեթը. Կատարվել ասված է անել, ես անում եմ իրեն apt-get source php5 քաշում իմ ընթացիկ կոդը, разпакетирва եւ այլ. Ահա իմ իդեալական գաղափար է բեռնել ելակետային կոդը փաթեթի հեռացնել patch եւ նրա recompile կրկին ֆայլերի փաթեթը գումարած երկու փոքր օպտիմալացման կազմելիս. Կատարվել ասված է արվել – ես վերացրել ավելորդ կարկատել է debian/patches/suhosin.patch ես վերացրել է այն, այլ ոչ թե խաղալ debian/patches/series. Այստեղ ամեն ինչ հստակ է, եւ առանց խնդիրների. Ապա ես կազմում փաթեթը debuild եւ քանի որ ես սպասում էի իմ захлопнулась հավաքների պատճառով բացակայող ելակետային տեքստերի. Բնական է, որ այդպիսի ձախողումները – այնուամենայնիվ, ես debian netinstall. Վերականգնման մանրամասները հապշտապ հիմարություն է այն թողարկել նորից կոմպիլացիա, մի պահ նորից премира միայն, որ տարօրինակ սխալներ Zend/zend_stream.h կամ .c չեմ հիշում հաստատ (եթե ես զբաղվել հնարավոր է ուշ, որպեսզի ստուգեք, թե որ ֆայլի և ինչ տողում հնչում էր). Որոշ недоумяване, թե ինչ է կատարվում, և ինչու՞, գրողը տանի դղրդյուն միջուկ Zend – որտեղ էլ չի դղրդյուն ցանկացած պատճառով եւ մի քիչ երկար հետազոտությունների հայտնաբերել է, որ այս խնդիրը հանդիսանում է համեմատաբար հազվադեպ և շատ ազդանշանները համար. Կասկածում եմ, որ ցանկացած տեղ-տեղ կոդը ոչ այնքան, բայց հիմա ես նյարդերը, ստուգել նրա. Хммммм տարօրինակ է super տարօրինակ է. Գրեթե որոշել է recompile մաքուր php, բայց ես որոշեցի փորձել հայելիներ dotdeb տեսնենք, թե ինչ է այնտեղ տեղի կունենա. Այնտեղ նախագիծը մահացել է տարօրինակ հակումներ, բայց խնդիրների հիմնական մասի. Որ, իր հերթին, հասկանում է նրանց, նրանք 30-40 patches, որոնք կայուն փաթեթը. Հետո երկար եւ անհաջող փորձերից ինձ հոգնեցրել է եւ անջատեց փաթեթի և նրա компилируется գրեթե debian-ски տարբերակներ այն մտքի հետ, որ վերաշարադրել իմ ընթացիկ տեղադրում եւ ստեղծել նոր փաթեթներ ներկայացման կարող են լինել վարքագծի, փաթեթ է репозитория (հավանական է, դեռ չեն обособно ողջամիտ որոշումը). Ինչպես ես սպասում, բոլոր տեղ-տեղ, տեղադրում հարթ է անցել. Այս եզրակացության են հանգել config.nice իմ ֆայլը:

#! /bin/sh
#
# Created by configure

CFLAGS='-g -O2 -fPIC -Wall -fsigned-char -fno-strict-aliasing   -gstabs' \
CXXFLAGS='-g -O2' \
'./configure' \
'--with-apxs2=/usr/bin/apxs2' \
'--prefix=/usr/local/php5' \
'--disable-cgi' \
'--with-config-file-path=/etc/php5/apache2' \
'--with-config-file-scan-dir=/etc/php5/apache2/conf.d' \
'--build=x86_64-linux-gnu' \
'--host=x86_64-linux-gnu' \
'--sysconfdir=/etc' \
'--localstatedir=/var' \
'--mandir=/usr/share/man' \
'--disable-debug' \
'--with-regex=php' \
'--disable-rpath' \
'--disable-static' \
'--with-pic' \
'--with-layout=GNU' \
'--with-pear=/usr/share/php' \
'--enable-calendar' \
'--enable-fileinfo' \
'--enable-hash' \
'--enable-json' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-sysvmsg' \
'--enable-bcmath' \
'--with-bz2' \
'--enable-ctype' \
'--without-gdbm' \
'--with-iconv' \
'--enable-exif' \
'--enable-ftp' \
'--enable-dbase' \
'--with-gettext' \
'--enable-mbstring' \
'--with-onig=/usr' \
'--with-pcre-regex' \
'--with-mysql=shared,mysqlnd' \
'--with-mysql-sock=/var/run/mysqld/mysqld.sock' \
'--with-mysqli=shared,mysqlnd' \
'--enable-pdo=shared' \
'--with-pdo-mysql=shared,mysqlnd' \
'--with-pdo-odbc=shared,unixODBC,/usr' \
'--with-pdo-pgsql=shared,/usr/bin/pg_config' \
'--with-pdo-sqlite=shared,/usr' \
'--with-pdo-dblib=shared,/usr' \
'--enable-phar' \
'--enable-shmop' \
'--enable-sockets' \
'--enable-dom' \
'--enable-wddx' \
'--enable-tokenizer' \
'--with-zlib' \
'--with-kerberos=/usr' \
'--with-openssl=/usr' \
'--enable-soap' \
'--enable-zip' \
'--with-mhash=yes' \
'--with-exec-dir=/usr/lib/php5/libexec' \
'--with-system-tzdata' \
'--without-mm' \
'--with-readline=/usr' \
'--without-sybase-ct' \
'--without-sqlite' \
'--without-sqlite3' \
'--without-mssql' \
'--enable-pcntl' \
'--enable-inline-optimization' \
"[email protected]"

Այս կազմաձեւման մոտ է: այս մասին հայտարարել է dotdeb. Като основаното и най важно е prefix опцията където ще се разполагат файловете с библиотеките на php. Него както и другите пъти ги коригирайте според вашата система така че да не се усети компилацията с промяна на пътищата.

Ընդլայնված by Zemanta