From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_00, RCVD_NUMERIC_HELO autolearn=no version=3.2.4 X-Injected-Via-Gmane: http://gmane.org/ To: sysadmins@lists.altlinux.org From: =?UTF-8?B?0JLQsNC00LjQvCDQmNC70LvQsNGA0LjQvtC90L7Qsg==?= Date: Tue, 24 Jun 2008 18:45:01 +0400 Organization: =?UTF-8?B?0J3QvtCy0YvQtSDQodC40YHRgtC10LzRiyDQotC10LvQtdC60L7QvA==?= Message-ID: References: <200806241206.59207.bv@gres.tomske.elektra.ru> <4860A67C.9040005@mont-spb.ru> <4860BDBD.9010502@mont-spb.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8Bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 62.141.103.3 User-Agent: KNode/0.10.9 Sender: news Subject: Re: [Sysadmins] =?utf-8?q?samba_=28pdc=29_+_ddns_+_dhcp_+_squid_?= =?utf-8?b?0LggbWFpbD8=?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jun 2008 14:45:21 -0000 Archived-At: List-Archive: Вадим Илларионов 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