[devel] Re: Sisyphus for developers
Alexey I. Froloff
=?iso-8859-1?q?sir=5Fraorn_=CE=C1_immo=2Eru?=
Ср Окт 8 09:28:02 MSD 2003
* Yura Zotov <yz на altlinux.ru> [031007 20:56]:
> Тут на память пришла старая и обкатанная технология "rsync через
> CD". У меня есть самописанные скрипты, которые получают список
> изменений, скачивают эти изменения где-нибудь халявным инетом,
> потом дома с болванки синхронизуют локальный Сизиф. На той
> машине, где будет скачивание нужно всего лишь запустить скрипт, а
> потом записать диск.
Ой. У меня тоже есть пара скриптов на эту тему. Недоделаные
правда слегка... Приаттачено.
P.S. 2ldv: только пожалуйста не надо бить меня ногами по лицу,
этим скриптам уже года два и я знаю что и как там надо зафиксить ;-)
--
Regards, Sir Raorn.
-------------------
Если пользователь хочет выполнять системые привилегированные задачи, то
это почти так же плохо, как и выполнение рутом пользовательских задач.
-- ldv in sisyphus@
----------- следующая часть -----------
#!/bin/sh
while [ -n "$1" ]; do
if [ -L "$1" ]; then
echo "`readlink "$1" | md5sum | cut -b 1-33` $1"
else
md5sum "$1"
fi
shift
done
exit $?
----------- следующая часть -----------
#!/bin/sh
Usage() {
cat <<EOF
Usage: ${0##*/} {--list | DATE} DIR
EOF
exit $1
}
Exit() {
local rc=$?
trap '' EXIT
rm -f -- $tmpfile
exit $rc
}
if [ ! $# -eq 2 ]; then
Usage 1 1>&2
fi
file=""
dir=""
what=""
export cdate=`date +%Y%m%d`
tmpfile=`mktemp ${TMPDIR-/tmp}/makeupdate.$$.XXXXXXXXXX`
trap 'Exit ' EXIT HUP INT PIPE TERM QUIT
sdate="$1"
dir="$2"
find "$dir" \( -type f -or -type l \) -print0 | xargs -0 lmd5sum |
sort -k 2 |
(if [ "$sdate" = "--list" ]; then
cat > $cdate.list
else
tee $cdate.list |
diff -U0 $sdate.list - |
perl -e '
open UPSH, ">update.sh" or die;
print UPSH "#!/bin/sh\n";
print UPSH "echo -e \"\\nMaking update to $ENV{cdate}\\n\"";
$l = 7;
while(<>) {
chomp;
($w, $f) = ($_ =~ /(.)[0-9a-f]{32}.\s*(\S+)/);
next if $w !~ /[+-]/;
if ($w =~ /-/) {
print UPSH "rm -f \"".$f."\" && echo \"- ".$f."\"\n";
$l++;
} else {
print $f."\000";
}
}
print UPSH "\n";
print UPSH "tail +$l \"\$0\" | tar xPvf - | xargs -i echo \"+ {}\"\n";
print UPSH "apt-get update\n";
print UPSH "exit \$?;\n";
close UPSH;
' > $tmpfile
tar cPf - --null -T $tmpfile >> update.sh
fi )
rm -f $tmpfile
trap '' EXIT
exit 0
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20031008/58c88a11/attachment-0001.bin>
Подробная информация о списке рассылки Devel