[Sysadmins] samba (pdc) + ddns + dhcp + squid и mail?
Вадим Илларионов
=?iso-8859-1?q?master_=CE=C1_nstel=2Eru?=
Вт Июн 24 18:45:01 MSD 2008
Вадим Илларионов 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
Подробная информация о списке рассылки Sysadmins