/etc menedžments ar subversion (svn)
2009-09-11 09:07:25 UTC by maris in Linux, gentoo, Quick Tips,Kas ir subversion visi zina :)
Tā pielietojumu atradu arī /etc menedžēšanai, šad tad gribas redzēt kas kādam konfigam ko ir mainījis, un šad tad ir nepieciešams uztaisīt kādu izmaiņu rollback.
Tiek izveidota repozitorija struktūra
mkdir svnprep
mkdir -p {branches,logs,trunk}
svn import -m 'Initial import' svn://mansSVNservers/repozitorijs
cd ../
rm -rf svnprep
Tiek uztaisīta lokāla darba kopija
svn co svn://mansSVNservers/repozitorijs/trunk /Configs
cd /Configs
Struktūra ir apmēram šāda:
svn:
->branches
->logs
->trunk:
--->all (konfigi kopēji visiem serveriem)
--->$(hostname) (katra hosta individuālie konfigi)
tālāk visi konfigi, kas ir vienādi visiem serveriem tiek pārnesti zem /Configs/all/etc/ un izveidots simlinks.
mv /etc/make.conf /Configs/all/etc/
ln -s /Configs/all/etc/make.conf /etc/
konfigi, kas ir unikāli hostam tiek ienesti iekš /Configs/HOSTNAME
tad jaunie faili tiek pievienoti pie svn un uztaisīts komits.
pēc komita nostrādā post-commit hook, kas caur ssh uz katra servera izpilda 'svn update'.
post-commit hooks
#!/bin/sh
hosts=`ls /Configs`
for h in $hosts
do
ssh root@${h} "cd /Configs; svn update"
done
tādējādi izdarot izmaiņas uz viena hosta updeitojas visi hosti.
Vienīgais priekšnoteikums ir tāds, ka autorizācija uz serveriem notiek ar ssh atslēgām bez paroles.
Atjaunots files.inbox.lv downloaderis
2009-09-11 08:54:58 UTC by maris in Linux, python,Jauninājumi: * Lejupielādes atsākšana * opcija -c - automātiskai merķa direktorijas izveidei. paņemt te: inbox-files-downloader-r30
(0 komentāri)Perl ithreads vs Memory
2009-08-21 08:54:00 UTC by maris in Linux,Uznāca vajadzība uzrakstīt perl skriptu, kas apstrādā relatīvi lielu masīvu - pie 500k - 1m elementiem, lai lieta ietu ātrāk nolēmu izmantot ithreads. Masīva tips ir HASHES OF ARRAYS. Masīvā aptuveni 40 HASH'i viens pavediens katram hešam. Problēmas sākās, tad, kad veidojot jaunu pavedienu Perl kopē visas datu struktūras uz jauno pavedienu, tas nozīmē, ka izveidojot 40 pavedienus servera atmiņā ir 40 masīva kopijas.
(0 komentāri)Wiki-Docs
2009-06-17 13:06:06 UTC by maris in Noklusētā,Cyrus Cluster aka Murder
Murder Standart config - mupdate_config: standart
Mupdate Master
# cat /etc/cyrus.conf
START {
recover cmd="ctl_cyrusdb -r"
}
SERVICES {
mupdate cmd="mupdate -m" listen=3905 prefork=1
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="ctl_deliver -E 3" period=1440
tlsprune cmd="tls_prune" period=1440
}
#cat /etc/imapd.conf
configdirectory: /var/imap
partition-default: /tmp
hashimapspool: yes
allowanonymouslogin: no
allowplaintext: yes
allowusermoves: yes
unixhierarchysep: 1
servername: xtest2
admins: cyrus murder
# SASL PART GOES HERE
Mupdate Backend
# cat /etc/cyrus.conf
START {
recover cmd="ctl_cyrusdb -r"
mupdatepush cmd="ctl_mboxlist -m"
}
SERVICES {
imap cmd="imapd" listen="imap2" prefork=1
sieve cmd="timsieved" listen="sieve" prefork=0
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="ctl_deliver -E 3" period=1440
tlsprune cmd="tls_prune" period=1440
}
# cat /etc/imapd.conf
configdirectory: /var/imap
partition-default: /var/spool/imap
sievedir: /var/imap/sieve
hashimapspool: yes
allowanonymouslogin: no
allowplaintext: yes
allowusermoves: 1
unixhierarchysep: 1
servername: xtest
admins: cyrus
proxyservers: cyrus
proxy_authname: cyrus
proxy_password: murderp4ss
mupdate_config: standart
mupdate_server: xtest2
mupdate_port: 3905
mupdate_username: cyrus
mupdate_authname: cyrus
mupdate_password: murderp4ss
mupdate_retry_delay: 5
# SASL GOES HERE
Murder Frontend
# cat /etc/cyrus.conf
START {
recover cmd="ctl_cyrusdb -r"
}
SERVICES {
imap cmd="proxyd" listen="imap2" prefork=1 maxchild=200
mupdate cmd="mupdate" listen=3905 prefork=1 maxchild=20
sieve cmd="timsieved" listen="sieve" prefork=0
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="ctl_deliver -E 3" period=1440
tlsprune cmd="tls_prune" period=1440
}
# cat /etc/imapd.conf
configdirectory: /var/imap
partition-default: /var/spool/imap
sievedir: /var/imap/sieve
hashimapspool: yes
allowanonymouslogin: no
allowplaintext: yes
allowusermoves: 1
unixhierarchysep: 1
servername: xtest3
admins: cyrus
proxyservers: cyrus
proxy_authname: cyrus
proxy_password: murderp4ss
xtest_password: murderp4ss
xtest_mechs: DIGEST-MD5
xtest3_password: murderp4ss
xtest3_mechs: DIGEST-MD5
mupdate_config: standart
mupdate_server: xtest2
mupdate_port: 3905
mupdate_username: cyrus
mupdate_authname: cyrus
mupdate_password: murderp4ss
mupdate_retry_delay: 5
# SASL GOES HERE
SASL config
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql
sasl_sql_engine: mysql
sasl_mech_list: LOGIN PLAIN CRAM-MD5 DIGEST-MD5
sasl_sql_user: mail
sasl_sql_passwd: superpass
sasl_sql_database: mail
sasl_sql_hostnames: 127.0.0.1
sasl_sql_select: SELECT password FROM accounts WHERE account = '%u@%r' OR account = '%u' AND enabled = '1'
(0 komentāri)
Dub FX
2009-06-13 11:05:25 UTC by Kristaps in Mūzika,Kaut kā baigi pavilkos uz šo dziesmu un vispār uz viņa muzonu! :)
(2 komentāri)