From: "Вадим Илларионов" <master@nstel.ru>
To: sysadmins@lists.altlinux.org
Subject: Re: [Sysadmins] samba (pdc) + ddns + dhcp + squid и mail?
Date: Tue, 24 Jun 2008 18:45:01 +0400
Message-ID: <g3r19g$4o6$1@ger.gmane.org> (raw)
In-Reply-To: <g3qj8p$dvr$1@ger.gmane.org>
Вадим Илларионов wrote:
> У меня из cron.daily запускается пара скриптов.
Эти скрипты я писал давненько.
А уже отправив сюда, несколько переосмыслил и переписал ldap_restore.
Если кому интересно, вот он:
,----[ /var/ftp/pub/Server/LDAP/ldap_restore ]
| #!/bin/sh
|
| WDIR=/var/lib/ldap
| SITE=my.domain
| BASE="$WDIR/bases/$SITE"
| LOGS="$WDIR/dblogs/$SITE"
| MinSize=50000 # Минимальный размер упакованной базы, байт.
| Users=`cat $WDIR/bases/Users.$SITE` # Файл со списком пользователей.
| SLEEP=10 # 9 мало - даже пустая база ломается...
|
| Restore(){
| /sbin/service slapd condstop # Работает - тормознём.
| rm -f $BASE/* # Старую базу - фтопку.
| /sbin/service slapd start # Да будет новая, пустая!
| echo -n "Waiting $SLEEP seconds while empty base creates: "
| for ((s=$SLEEP;s; s--)); do
| echo -n "$s "
| sleep 1
| done
| echo
| /sbin/service slapd condstop # Перед заполнением - остановить.
| bzip2 -cd "$LAST" | /usr/sbin/slapadd # Осталось заполнить,
| chown -R ldap.ldap $BASE $LOGS # допуски поправить -
| /sbin/service slapd start # и за работу.
| }
|
| for ((i=1;;i++)); do
| let n=i-1
| [ $n -gt 0 ] &&
| PREV=`ls -1 $WDIR/bases/*.bz2 | tail -$n | head -1`
| LAST=`ls -1 $WDIR/bases/*.bz2 | tail -$i | head -1`
| SIZE=`stat -c %s $LAST`
| [ $SIZE -gt $MinSize ] && {
| echo "Last relevant base dated `basename $LAST .ldif.bz2`"
| break
| }
| case $PREV in
| "$LAST")
| echo "No relevant base found."
| exit 1
| ;;
| esac
| done
|
| for User in $Users; do
| id $User >/dev/null || {
| echo "User $User is out of base. Restoring."
| Restore
| break
| }
| done
|
| case $1 in
| --force|-f) Restore ;;
| esac
`----
_________________________________
С уважением,
Вадим Илларионов
системный администратор
ООО "Новые Системы Телеком"
UIN: 7899517
JID: master at usib dot irkps dot ru
Телефоны:
- рабочий +7 495 6414045+5885
- мобильный +7 916 3889337
next prev parent reply other threads:[~2008-06-24 14:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-24 5:06 Vyacheslav Brunev
2008-06-24 7:30 ` [Sysadmins] [JT] " Max Ivanov
2008-06-24 7:41 ` Maks Re
2008-06-24 10:57 ` Вадим Илларионов
2008-06-24 7:47 ` [Sysadmins] " Maxim Ivanov
2008-06-24 8:58 ` Alexey Shabalin
2008-06-24 9:26 ` Maxim Ivanov
2008-06-24 10:45 ` Вадим Илларионов
2008-06-24 14:45 ` Вадим Илларионов [this message]
2008-06-25 10:19 ` Владимир
2008-06-25 13:50 ` Вадим Илларионов
2008-06-24 10:54 ` Вадим Илларионов
2008-06-25 2:29 ` Vyacheslav Brunev
2008-06-25 8:24 ` Вадим Илларионов
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='g3r19g$4o6$1@ger.gmane.org' \
--to=master@nstel.ru \
--cc=sysadmins@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux sysadmins discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
public-inbox-index sysadmins
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sysadmins
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git