nixp.ru v3.0

18 октября 2017,
среда,
08:52:03 MSK

DevOps с компанией «Флант»
anonymous написал 19 мая 2005 года в 10:36 (447 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

есть вот такой вот скриптик

#монтирование шары для копирования бэкапа

mount -t smbfs -o guest,rw //192.168.0.13/backup_copy /mnt/backup

#копирование

cp /data/backup/chel.gbk /mnt/backup/chel_bk.gbk

cp /data/backup/repos.gbk /mnt/backup/repos_bk.gbk

#отмонтирование шары бэкапа

umount /mnt/backup

первый файл размером примерно 3 гига второй мегов 150 …

этот файлик(скрипт который) запускается из под крона с правами рута

шара которая монтируется это папка на win2k сервере, том ntfs

а вот теперь самое интересное

примерно на середине копирования выдаёт ошибку FILE SIZE LIMIT EXCEEDEDEP (место свободного на диске куда копируется предостаточно)

пробовал и просто копировать из оболочки (ручками) таже история

а когда с винды (с машины на которой монтируемая шара для бэкапа находится) подщепился к расшаренному ресурсу на линухе и скопировал то всё прекрасно получилось …

может подскажите в чём дело может быть ???

линух — SuSe 9.2 стандартная конфигурация …

заранее благодарен !)

Genie

1) обновить самбу

2) если не поможет — стреляться.

2а) если жить хочется — создавать архивы размером поменьше 2Гб.

2б) вообще, монтировать как таковое — не требуется. достаточно запускать smbclient, на stdin которому из файла/скрипта будут передаваться команды на отправку файлов (тогда как таковых прав root не потребуется).

заодним и проверить, есть ли у smbclient такое вредное поведение

anonymous

спасибо !!! помогло )))

через smbklient …

видать гдето ограничение стоит на копирование больших файлов на подмантированную шару …

metal

Когда сталкивался с аналогичными ограничениями при использованиии nfs.

anonymous

блин (((

ручками пишу smbclient // -N

потом после подключения put <источник> <получатель>

и всё прекрассно копируется …

запускаю тоже через крон, половина файла недокопируется (((

не подскажите где и что поправить ???

Genie
не подскажите где и что поправить ???

ммм.. может процесс просто-напросто прибивается?

что тебе пишется на почту от cron?

с другой стороны, у меня дома из cron запускается проигрывание клипов в mplayer, так ничего, не прибивается.. хотя играет несколько часов.. :)

в общем, см. почту, локаьлную, у данного пользователя, от имени которого пускается скрипт, там будет видно.

вообще же можешь попробовать создать отдельный скрипт с командами, который запускать будет smbclient в фоновом режиме (с символом & на конце строки)

а уже из cron вызывать этот скрипт-обёртку.

anonymous

про скрипт

так и есть … там прописаны бекапы и чистка базы потом копирование только

и этот скриптик запускается из крона

крон сам не завершает процесс … говорит что всё норм

и в письме которое приходит говорит что скопировано с такойто скоростью …

на машине на которую идёт копирование смотрю, размер файла 2 с чемто гига а должен быть 3 с чемто гига

вот и не могу понять в чём дело то … тем более еслиб крон завершил процесс копирования то сообщение об этом имело бы соответствующий вид, чтонить типа превышен временной интервал, или на подобие того …

anonymous

хм …

выяснилась ещё одна интересная деталь

когда просто в окне терминала пишеш smbclient //ip/share -N

и потом говориш put <локальный путь> <название файла на сервере>

всё проходит нормально

пишу ту же самую строчку в файл и разрешаю его на исполнение в свойствах его

запускаю

и копирует только окого 2 гег …

может нужно както скрипт по другому написать ???

anonymous

только в скрипте put передаётся серез ключь -c

те smbclient //it/share -N -c 'put откуда куда'

Genie

Где-то вот так оно должно работать:

$ su backup
Password: _
$ ls -l ~/.smbauth
-rw-------    1 backup   backup         83 Май 26 10:46 .smbauth
$ cat .smbauth
username = backup_operator
password = C0o1P4s5w0rD
domain = organization.realm.lan
$ cat ~/bin/crontab/parts.daily/09copy_backup
#!/bin/sh
cd /path/to/backup/folder/
echo -e "cd /path/to/store/backup\nput backup_archive.tar.bz2"\
|smbclient //server/share -A ~/.smbauth
$ cat ~/bin/crontab/run.daily
#!/bin/sh
parts=${HOME}/bin/crontab/parts.daily
[ -d $parts ] && for part in $parts/*
do
    [ -x $part ] && $part 2>&1 >/dev/null
done
$ crontab -l
30 6 1 * * f=$HOME/bin/crontab/run.monthly; [ -x $f ] && $f
15 6 * * 1 f=$HOME/bin/crontab/run.weekly; [ -x $f ] && $f
5 6 * * * f=$HOME/bin/crontab/run.daily; [ -x $f ] && $f
0 * * * * f=$HOME/bin/crontab/run.hourly; [ -x $f ] && $f
0/10 * * * * f=$HOME/bin/crontab/run.tenthly; [ -x $f ] && $f
* * * * * f=$HOME/bin/crontab/run.minutely; [ -x $f ] && $f
anonymous

а можно пожалуйста каментариев добавить в вышеприведённый скрипт

а то я недавно с линухом общатся начал …

Genie

а что именно не есть понятно?

у пользователя backup создаём в домашнем каталоге файл .smbauth, с соответствующим содержанием и аттрибутами доступа только этому пользователю.

записываем скрипт для копирования на сервер. в котором команда echo задаёт последовательность команд для выполнения программой smbclient после соединения с сервером. авторизацию передаём через файл, созданный чуть выше описанным способом.

далее описывается как настроить автоматическое копирование архива в заданное время на сервер. несколько больше, естественно, чем требуется ;)

чисто для детального «поразбираться».

писалось сразу из головы, потому была ошибка… (в названии директории)

в общем, можно тупо создать указанные файлы.

но это не отменяет того, что надо почитать man к следующим командам: cat, chmod, chown, crontab, echo, smbclient. и не в последнюю очередь — man sh