Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Монтирование диска в скрипте

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

nikitos435

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Есть скрипт
 
#!/bin/sh
default_ip=`grep SERVER_DEFAULT /etc/welltime.conf | cut -f2 -d'=' | tr -d ' ','\r'`
db=`grep -A20 "\[$default_ip" /etc/welltime.conf | grep SQL_DB | head -n1 | cut -f2 -d'=' | tr -d ' ','\r'`
 
############################################
mkdir /tmp/backup/    #скопировать файлы в папку /tmp/backup
cd /tmp
cp -rn /etc/sysconfig/network-scripts/. /tmp/backup/network-scripts/    #скопировать файлы в папку /tmp/backup
cp -rn /var/www/html/welltime/backup/. /tmp/backup/
cp /etc/sysconfig/iptables /tmp/backup/iptables
cp -rn /etc/fail2ban/. /tmp/backup/fail2ban/
############################################
if [ -z $db ]; then
    echo "Cannot find config file"  
else
    echo `date`
    echo "sleeping random time..."
    sleep $[ RANDOM%100 ]
    echo "Backuping db $db.."
    hostname=`cat /etc/sysconfig/network | grep HOSTNAME | cut -f2 -d'='`
    addr=`ip ad ls | grep -o '10\.13[78]\.[[:digit:]]\+\.[[:digit:]]\+' | head -1`
if [ -z $addr ]
then
        file=/tmp/$hostname-`date "+%d-%m-%Y_%H:%M:%S"`-mysqldump.gz
else [ -n $addr ]
        file=/tmp/$hostname-vpn$addr"_"`date "+%d-%m-%Y_%H:%M:%S"`-mysqldump.gz
fi
    filename=`basename $file`
    /usr/bin/mysqldump -uroot -ppassw0rd --ignore-table=$db.call --ignore-table=$db.queue_log --ignore-table=$db.cdr $db |  
        gzip -c > $file
    echo "Uploading to share.."
cp $file /tmp/backup
tar czf /tmp/welltime-`date +%y-%m-%d`.tar.gz /tmp/backup/    #заархивировать имя-дата
rm -rf /tmp/backup/    #удалить временные файлы
mount //130.23.20.23/Backup /mnt/smbshare -o credentials=/root/secret.txt  
mv /tmp/welltime-`date +%y-%m-%d`.tar.gz /mnt
echo File welltime-`date +%y-%m-%d`.tar.gz moved to Share
umount /mnt
    echo "Done"
fi
 
Он должен собрать все настройки АТС положить из себе в папку /mnt и потом скопировать их на примонтированную шару.
 
Результат работы скрипта
 
[root@localhost crons]# ./welltime-backup.sh
Thu Sep 24 11:28:28 MSK 2020
sleeping random time...
Backuping db asteriskcdrdb..
Uploading to share..
tar: Removing leading `/' from member names
File welltime-20-09-24.tar.gz moved to Share
umount: /mnt: not mounted
Done
 
You have mail in /var/spool/mail/root
[root@localhost crons]#  
 
В папке /mnt файл welltime-20-09-24.tar.gz есть, а в примонтированной шаре нет
То ли шара не корректно монтируется, то ли ошибка в скрипте.
Помогите, пожалуйста, разобраться
 

Всего записей: 211 | Зарегистр. 20-03-2012 | Отправлено: 11:58 24-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nikitos435

Цитата:
В папке /mnt файл welltime-20-09-24.tar.gz есть, а в примонтированной шаре нет
То ли шара не корректно монтируется, то ли ошибка в скрипте.

Маунтится как /mnt/smbshare, а копирование идет в /mnt, как и его umount.

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 12:36 24-09-2020
nikitos435

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Маунтится как  /mnt/smbshare, а копирование идет в /mnt, как и его umount

Не понял.
То есть бэкап делается в /mnt
А монтируется /mnt/smbshare  ??

Всего записей: 211 | Зарегистр. 20-03-2012 | Отправлено: 13:30 24-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nikitos435
Да

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 13:32 24-09-2020
nikitos435

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Получается мне надо отредактировать эту строку
 
Цитата:
mv /tmp/welltime-`date +%y-%m-%d`.tar.gz /mnt  

 
 
mv /tmp/welltime-`date +%y-%m-%d`.tar.gz /mnt/smbshare

Всего записей: 211 | Зарегистр. 20-03-2012 | Отправлено: 13:53 24-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nikitos435
И umount

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 14:10 24-09-2020
nikitos435

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так?
 
#!/bin/sh
default_ip=`grep SERVER_DEFAULT /etc/welltime.conf | cut -f2 -d'=' | tr -d ' ','\r'`
db=`grep -A20 "\[$default_ip" /etc/welltime.conf | grep SQL_DB | head -n1 | cut -f2 -d'=' | tr -d ' ','\r'`
 
############################################
mkdir /tmp/backup/    #скопировать файлы в папку /tmp/backup
cd /tmp
cp -rn /etc/sysconfig/network-scripts/. /tmp/backup/network-scripts/    #скопировать файлы в папку /tmp/backup
cp -rn /var/www/html/welltime/backup/. /tmp/backup/
cp /etc/sysconfig/iptables /tmp/backup/iptables
cp -rn /etc/fail2ban/. /tmp/backup/fail2ban/
############################################
if [ -z $db ]; then
    echo "Cannot find config file"  
else
    echo `date`
    echo "sleeping random time..."
    sleep $[ RANDOM%100 ]
    echo "Backuping db $db.."
    hostname=`cat /etc/sysconfig/network | grep HOSTNAME | cut -f2 -d'='`
    addr=`ip ad ls | grep -o '10\.13[78]\.[[:digit:]]\+\.[[:digit:]]\+' | head -1`
if [ -z $addr ]
then
        file=/tmp/$hostname-`date "+%d-%m-%Y_%H:%M:%S"`-mysqldump.gz
else [ -n $addr ]
        file=/tmp/$hostname-vpn$addr"_"`date "+%d-%m-%Y_%H:%M:%S"`-mysqldump.gz
fi
    filename=`basename $file`
    /usr/bin/mysqldump -uroot -ppassw0rd --ignore-table=$db.call --ignore-table=$db.queue_log --ignore-table=$db.cdr $db |  
        gzip -c > $file
    echo "Uploading to share.."
cp $file /tmp/backup
tar czf /tmp/welltime-`date +%y-%m-%d`.tar.gz /tmp/backup/    #заархивировать имя-дата
rm -rf /tmp/backup/    #удалить временные файлы
mount //130.23.20.23/Backup /mnt/smbshare -o credentials=/root/secret.txt  
mv /tmp/welltime-`date +%y-%m-%d`.tar.gz /mnt/smbshare
echo File welltime-`date +%y-%m-%d`.tar.gz moved to Share
umount /mnt/smbshare
    echo "Done"
fi  
 
 
Только при выполнении команды
[root@localhost crons]# umount /mnt/smbshare/
[root@localhost crons]# mc
 
Я иду в MC в /mnt  и все равно вижу и могу зайти в папку smbshare

Всего записей: 211 | Зарегистр. 20-03-2012 | Отправлено: 15:22 24-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
umount /mnt/smbshare/

А без слеша?

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 17:17 24-09-2020
nikitos435

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А без слеша?

[root@localhost welltime]# umount /mnt/smbshare
[root@localhost welltime]# mc
 
 Тоже захожу в шару
 
 
[root@localhost welltime]# ls /mnt/
smbshare                  welltime-20-02-16.tar.gz  
You have mail in /var/spool/mail/root
[root@localhost welltime]#

Всего записей: 211 | Зарегистр. 20-03-2012 | Отправлено: 08:33 25-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nikitos435

Цитата:
Тоже захожу в шару

Уверены, что при этом видите содержимое на удаленном сервере, а не локальную папку?  
увидеть есть ли замонтированная папка сейчас можно, к примеру, через df -h

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 21:08 25-09-2020 | Исправлено: Mavrikii, 22:28 25-09-2020
nikitos435

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Уверены, что при этом видите содержимое на удаленном сервере, а не локальную папку?  

Да
 
Это вывод после выполнения команды  
 
[root@localhost /]# umount /mnt/smbshare
You have mail in /var/spool/mail/root
 
[root@localhost /]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      2.7T  383G  2.2T  15% /
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sda1              97M   36M   57M  39% /boot
//130.23.20.23/Backup
                      465G  212G  253G  46% /mnt/smbshare
[root@localhost /]# mc
 
[root@localhost mnt]#
 
 

Всего записей: 211 | Зарегистр. 20-03-2012 | Отправлено: 08:43 28-09-2020 | Исправлено: nikitos435, 08:44 28-09-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nikitos435

Цитата:
You have mail in /var/spool/mail/root

видимо не может, раз какое то сообщение отправляется руту.
лучше глянуть или системные логи.
как вариант umount -l /mnt/smbshare или даже -f
https://www.cyberciti.biz/tips/how-do-i-forcefully-unmount-a-disk-partition.html

Всего записей: 15099 | Зарегистр. 20-09-2014 | Отправлено: 08:51 28-09-2020 | Исправлено: Mavrikii, 08:51 28-09-2020
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » Монтирование диска в скрипте


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru