ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
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



  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