LINUX.ORG.RU

Сообщения скрипта не перенаправляются в файл, а выводятся в консоль.


0

0

В общем ситуация следующая.
была задача, сделать скрипт, который будет копировать файлы с одной машины на другую с созранением прав и ACL. Решил воспользховаться tar и получил следующее:

#!/bin/sh
cd <каталог в котором находится сорс>
tar -cvpf - <каталог для копирования> | ssh юзер@хост «cd ~/tmp; tar -xpf - » &> log > log2

сохранил все это безобразие в test.sh
и запусил его
./test.sh
все отрабатывает как надо. Т.е. файла копируются, права сохраняются, но вот логи.
Результат работы программы (сосбно для этого добавлена опция v) выводятся в консоль, а оба файла log и log2 путы. Подскажите, что я делаю не так?
Подозреваю что весь затык в том, что я использую перенаправление, но как это обойти, понять не могу. Я еще совсем зеленый (( помогите, плиз.

ОС Solaris 10.


tar -cvpf - <каталог для копирования> 2>log | ssh юзер@хост «cd ~/tmp; tar -xpf - »

nnz ★★★★
()

При выводе результата архивации в stdout, вспомогательная информация выводится в stderr. Во всяком случае у нас на линуксе так.

nnz ★★★★
()
Ответ на: комментарий от nnz

Да... спасибо большое. Приблизительно в этом направлении я и думал. Ну и собсно интуитивно догадывался, что логгировать надо первую часть, а не все целиком. Но вот с какой стороны к этому подойти не допетрил :-) Так что и у нас на Соляре так же :-) Все таки братия UNIX'ы различий нет почти.

lutrin
() автор топика

В общем на всякий пожарный собрал рабочий скрипт с комментами. Для копирования (copy) файлов (file) на remote mashine с сохранением прав ACL. Пусть тут повисит, авось пригодится кому-нидь )) Я его два дня собирал )

#!/bin/sh
RUSER= #remote user
RHOST= #remote host
SDIR= #source dir (from her copyng)
DIRTOCOPY= #dir or file to copy to remote mashine on lockal mashine
DDIR= #target dir on remote mashine
LOGFILE= #full path to log file of tar on lockal mashine

date «+begin copy $DIRTOCOPY at %d%m%y_%H:%M»
cd $SDIR
tar -cvpf - $DIRTOCOPY 2>$LOGFILE | ssh $RUSER@$RHOST «cd $DDIR; tar -xpf - »
date «+end copy $DIRTOCOPY at %d%m%y_%H:%M»

date '+All done at %d%m%y_%H:%M'

lutrin
() автор топика
Ответ на: комментарий от lutrin

Я его два дня собирал )

имхо за 10 минут пишется)

drull ★☆☆☆
()
Ответ на: комментарий от drull

Ну... когда я всю инфу собрал по городам и весям... оно действительно за 10 минут пишется :-) Кто ж спорит. а рсинком я бы не проч воспользоаться, проблема что в текущей конфигурации он у меня отсутствует, а т.к. система не моя, а работодателя, что-нидь туда ставить без кучи согласований я не могу. И реально прозе было два дня разбираться с таром, чем за 30 минут воспользоваться рсинком, но перед этим неделю его ставить! 8-) Вот как-то так. Но за информацию спасибо. )

lutrin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.