The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Бэк-ап скрипт. Не анмоунтит NFS диск"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от DZUBA (ok) on 28-Май-13, 11:38 
Привет!

Столкнулся с проблемой, которую не могу решить. Есть несколько серверов, на которых работает FreeBSD. Каждую ночь к этим серверам подмапливается внешнее хранилище, куда бэк-апится несколько папок. Но вот беда, после этого, это хранилище не отмапливается, и с каждой ночью подключений становится всё больше и больше.

Копирую скрипт почти таким, как он есть, со всеми комментариями. Почти аналогичный скрипт на убунте работает отлично.
Спасибо за помощь.
Вот скрипт


#!/bin/sh

svrname=имя_сервера
bkpdate=`date "+%Y%m%d"`
bkptime=`date "+%H%M%S"`
desthost=10.135.0.102
#destname=nas001k
destshare=/mnt/HD_a2/unix/имя_сервера
mountpoint=/mnt/nas001k
destdir=${bkpdate}_${svrname}
logpoint=${mountpoint}/.log/${svrname}.log
nagiospipe=/tmp/bkpstatus.nagios

gzip="/usr/bin/gzip"

echo 0 > ${nagiospipe}
umount -f $mountpoint 2>/dev/null 1>/dev/null
/sbin/mount_nfs ${desthost}:${destshare} ${mountpoint} 2>/dev/null 1>/dev/null
#/bin/mount -t nfs -O rsize=8192,wsize=8192,nolock  ${desthost}:${destshare} $mountpoint 2>/dev/null 1>/dev/null

if [ ! -d ${mountpoint}/.check_mount ]; then
        echo "NFS device not mounted! Trying to remount..."
        umount $mountpoint 2>/dev/null 1>/dev/null
        /bin/mount -t nfs -O rsize=8192,wsize=8192,nolock  ${desthost}:${destshare} $mountpoint 2>/dev/null 1>/dev/null
        #-- double check
        if [ ! -d ${mountpoint}/.check_mount ]; then
                echo "Something evil happening here..."
                echo "check_mount dir deleted or cant mount NFS, "
                echo "giving up!"
                echo 0 > ${nagiospipe}
                exit 0
        fi;
fi

if ! mkdir ${mountpoint}/${bkpdate}; then

        if [ -d ${mountpoint}/${bkpdate} ]; then
                echo "Deleting -rf: ${mountpoint}/${bkpdate}"
                rm -rf ${mountpoint}/${bkpdate}
        else
                echo "Something evil happening here..."
                echo "cant create backup dir on NFS device!"
                echo 0 > ${nagiospipe}
                exit 0
        fi
fi


        echo "stage 1..."
        echo "Starting backup process on $svrname" > ${logpoint}
        echo "Date now: `date`" >> ${logpoint}
        echo "==== $svrname ==========================================" >> ${logpoint}

        mkdir ${mountpoint}/${bkpdate}
        cd /back
        rm /back/*gz
        data=`date|awk '{print $2 $3}'`
echo "stage 2..."
        tar -zcvf etc-${bkpdate}.tar.gz /etc 2>>${logpoint} 1>>${logpoint}
        tar -zcvf root-${bkpdate}.tar.gz /root 2>>${logpoint} 1>>${logpoint}
        tar -zcvf vardb-${bkpdate}.tar.gz /var/db 2>>${logpoint} 1>>${logpoint}
        tar -zcvf varnamed-${bkpdate}.tar.gz /var/named 2>>${logpoint} 1>>${logpoint}
        tar -zcvf usrlocaletc-${bkpdate}.tar.gz /usr/local/etc 2>>${logpoint} 1>>${logpoint}

        #== rsync backup here
        #==
        echo "==== rsync /srv/ /mnt/nas001k/rsync_srv/ ======================="
        /usr/bin/rsync -ap /srv/ /mnt/nas001k/rsync_srv/ 2>/dev/null 1>>${logpoint}

        echo "stage 3..."
        cd ${mountpoint}/${bkpdate}
        cp /back/* .
        cd /root/bin
        echo "Backup task ended at: `date`" >> ${logpoint}
        echo "==== $svrname ==========================================" >> ${logpoint}
        #
        # check of copying and taring need to do
        #
        echo 1 > ${nagiospipe}
        cd /home
        umount -f $mountpoint 2>/dev/null 1>/dev/null


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от старый сантехник on 28-Май-13, 12:39 
Я бы настроил один раз и навсегда :) automounter, и забыл бы про эти проблемы.

Если, конечно, нет неких спец. соображений, чтобы монтировать и размонтировать из скрипта...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от menpavel (ok) on 21-Июн-13, 16:00 
> Я бы настроил один раз и навсегда :) automounter, и забыл бы
> про эти проблемы.
> Если, конечно, нет неких спец. соображений, чтобы монтировать и размонтировать из скрипта...

Поддерживаю. Сам использую automount и скидываю туда резервные копии. Ни разу не было никаких проблем с монтированием - размонтированием.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от XAnder (ok) on 28-Май-13, 13:26 
> бэк-апится несколько папок. Но вот беда, после этого, это хранилище не
> отмапливается, и с каждой ночью подключений становится всё больше и больше.

Проверьте, что команда umount действительно выполняется и как (уберите /dev/null). Нет ли проблем с путями ($PATH)? Настораживает, что mount с полным путём, а umount — без него.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от DZUBA (ok) on 28-Май-13, 14:05 
>> бэк-апится несколько папок. Но вот беда, после этого, это хранилище не
>> отмапливается, и с каждой ночью подключений становится всё больше и больше.
> Проверьте, что команда umount действительно выполняется и как (уберите /dev/null). Нет
> ли проблем с путями ($PATH)? Настораживает, что mount с полным путём,
> а umount — без него.

Уберал /dev/null, ошибки не сыпятся.

Вручную umount -f /mnt/nas001k срабатывает. Я эту команду уже и в отдельный скрипт прописывал, и в крон отдельным действие добавил.
crontab -e
35 3 * * * /root/bin/backup.sh
50 3 * * * -exec umount /mnt/nas001k/
Но не срабатывает.
Вручную команда работает, но это не выход. После выходных у меня висит три подмапленных папки.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от XAnder (ok) on 28-Май-13, 14:27 
>[оверквотинг удален]
>> а umount — без него.
> Уберал /dev/null, ошибки не сыпятся.
> Вручную umount -f /mnt/nas001k срабатывает. Я эту команду уже и в отдельный
> скрипт прописывал, и в крон отдельным действие добавил.
> crontab -e
> 35 3 * * * /root/bin/backup.sh
> 50 3 * * * -exec umount /mnt/nas001k/
> Но не срабатывает.
> Вручную команда работает, но это не выход. После выходных у меня висит
> три подмапленных папки.

Что с путями-то? Если вручную работает, а в скрипте — нет, то в половине случаев не прописан или не так прописан $PATH. Чтобы наверняка, указывайте полный путь до umount.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от Alexey email(??) on 29-Май-13, 07:02 
попробуйте

umount -lf /mount_poiint

если такая опция доступа

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от DZUBA (ok) on 29-Май-13, 14:12 
> попробуйте
> umount -lf /mount_poiint
> если такая опция доступа

к сожалению, недоступна(

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

12. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от Alexey email(??) on 21-Июн-13, 07:13 
>> попробуйте
>> umount -lf /mount_poiint
>> если такая опция доступа
> к сожалению, недоступна(

тогда umount  -f /mount_point

  -f      The filesystem is forcibly unmounted.  Active special devices
         continue to work, but all other files return errors if further
         accesses are attempted.  The root filesystem cannot be forcibly
         unmounted.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

6. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от DZUBA (ok) on 29-Май-13, 14:11 
>[оверквотинг удален]
>> скрипт прописывал, и в крон отдельным действие добавил.
>> crontab -e
>> 35 3 * * * /root/bin/backup.sh
>> 50 3 * * * -exec umount /mnt/nas001k/
>> Но не срабатывает.
>> Вручную команда работает, но это не выход. После выходных у меня висит
>> три подмапленных папки.
> Что с путями-то? Если вручную работает, а в скрипте — нет, то
> в половине случаев не прописан или не так прописан $PATH. Чтобы
> наверняка, указывайте полный путь до umount.

Прописал вручную. Всё-равно той ночью не отмапило

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от gpl77 (ok) on 29-Май-13, 15:55 
>> Что с путями-то? Если вручную работает, а в скрипте — нет, то
>> в половине случаев не прописан или не так прописан $PATH. Чтобы
>> наверняка, указывайте полный путь до umount.
> Прописал вручную. Всё-равно той ночью не отмапило

А cron рестартовать не забыли?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от Pahanivo (ok) on 30-Май-13, 14:07 
> А cron рестартовать не забыли?

он сам рестартится )

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от gpl77 (ok) on 30-Май-13, 15:26 
>> А cron рестартовать не забыли?
> он сам рестартится )

действительно :-)

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Бэк-ап скрипт. Не анмоунтит NFS диск"  +/
Сообщение от foxy_ant on 31-Май-13, 19:49 
демон crond обычно запускается от отдельного пользователя, возможно у него ограничены права на umount

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру