LINUX.ORG.RU

Сообщения forestbeast

 

solaris 10, nfs share

на сервере
#ls -ld /shar
drwxrwxrwx 2 root root 512 янв. 12 19:56 /shar

#cat /etc/dfs/dfstab
share -F nfs -o rw /shar
делаю shareall -F nfs
на клиенте
#mount -F -o rw nfs server:/shar /t
выдаёт
ignoring rw

на t стоит тот же владелец и такие же права, как и на /shar

в чём может быть ошибка?

 , ,

forestbeast
()

bash: while + if. прошу помочь разобраться

сразу предупрежу, я в написании скриптов новичок.
пытаюсь написать скрипт для двусторонней синхронизации по rsync.
идея в том, что когда юзер делает логаут, запускается rsync. вот как я это решил реализовать:

#!/bin/bash
#

USER_BASE1=./base/user_base1;
USER_BASE2=./base/user_base2;
DIFF=./base/diff;
HOMEDR=./base/homedir;
STR=1;
STR=$BSTR;
TRGT=Х.Х.Х.Х;
LOGFILE=./rsync.log;
RSYNC=/opt/rsync/bin/rsync;

exec 6>&1
exec > $LOGFILE

#беру списки пользователей из who, т.к. данные пользователи хранятся в базе LDAP и другим способом я не придумал как извлечь их.
who | awk '{print $1}' > $USER_BASE1;
sleep 30m; #за такое время предполагается, что вывод [i]who[/i] изменится
who | awk '{print $1}' > $USER_BASE2;

#здесь будут храниться юзеры, которые сделали логаут
comm -23 $USER_BASE1 $USER_BASE2 | grep -v "^root" > $DIFF;

#получаю username
while [ -n $uid ]
do
	
	
#получаю homedir таким способом, потому что другим не выйдет-используется Solaris с Trusted Extension и домашние директории юзеров хранятся в своих лейбелах
	
		if [ -n `cat $HOMEDR | grep $uid  | cut -d ":" -f2` ]
			then
				export homedir=`cat $HOMEDR | grep $uid  | cut -d ":" -f2`
			else
				export homedir=`find /zone/*/home/ -name $uid 2>/dev/null`
                                echo $uid":"$homedir>>$HOMEDR;
		fi
#запускаю rsync	
	$RSYNC --rsync-path=$RSYNC --modify-window=1 --delete -tucaHSzprogl  -e 'ssh -i ~/.ssh/rsync' $homedir/ root@$TRGT:$homedir/;
	
	export STR=$((STR + 1));

done 

echo `date`\ "Sync complete";
exec 1>&6 6>&-
echo
exit 0

в итоге в логи валится

file has vanished: "/proc/5835/path/3"
file has vanished: "/proc/5841/path/3"
file has vanished: "/proc/5867/path/3"
file has vanished: "/proc/5855/path/3"
file has vanished: "/proc/5861/path/3"
file has vanished: "/proc/5873/path/3"

я думаю, что я не правильно создал конструкцию while + if. может можно как-то это изменить? и ещё вопрос.как перенаправить в логи вывод исполняемых команд?

 , ,

forestbeast
()

rsync синхронизация каталогов.

Всем привет. Есть два сервера с SunOs. На них требуется настроить синхронизацию файлов. Использую rsync 2.6.4 на сервере y.y.y.y:

rsync --modify-window=1 -tucaHSzprOoglivy --stats --progress --delete /directory1/ root@x.x.x.x:/directory2/ && rsync --modify-window=1 --inplace -tucaHSzprOoglivy --stats --progress --delete -e root@x.x.x.x:/directory2/ /directory1/

в итоге при изменениях файлов на сервере Y и Х, изменения появляются и там и там. но при создании/удалении каталогов/файлов на сервере Х, при запуске rsync, ничего не сохраняется. помогите,плз,если не советом, так ещё чем))

 ,

forestbeast
()

RSS подписка на новые темы