rsync proti databázi?
tropikhajma
tropikhajma na seznam.cz
Neděle Říjen 2 23:31:00 CEST 2005
Dne neděle 02 říjen 2005 23:21 Ctirad Fertr napsal(a):
> Dne neděle 02 října 2005 22:50 tropikhajma napsal(a):
> > přepínač -n
>
> To nestačí. Potřebuju tam mít i práva a navíc nevím, jak řešit druhou
> polovinu problému, kde bych potřeboval porovnat aktuální filesystém s takto
> vygenerovanou databází a rozdíl hodit do zálohy.
>
> Ctirad
takhle to dělám já, i když něco trochu jinýho než potřebuješ, ale třeba tě to inspiruje:
#!/bin/bash
root_path="/mnt/mdk/Mandrakelinux-devel/cooker"
server_address="mandrake.contactel.cz"
server_path="Mandrivalinux-devel/cooker/i586/"
/usr/bin/rsync -avvnH --delete-after --exclude='media_info/' --exclude='*.cz' $server_address::$server_path $root_path | grep -v "is uptodate" | grep .rpm$ > /var/log/seznamrpm
for deleted in $(grep deleting /var/log/seznamrpm)
do
if [ "$deleted" != "deleting" ]
then
stary_soubor=$root_path/$deleted
deleted_base=`/bin/basename "$deleted"`
deleted_dir=`/usr/bin/dirname "$deleted"`
package_name=`echo $deleted_base | awk 'BEGIN { FS = "-[^-]+-[^-]+rpm$" } ; { print $1 }'`
novy_soubor=$root_path/`grep -v deleting /var/log/seznamrpm | grep "$deleted_dir/$package_name-[^-]\+-[^-]\+rpm$"`
echo $stary_soubor
echo $novy_soubor
mv -f $stary_soubor $novy_soubor
fi
done
/usr/bin/rsync -avvH --delete-after --progress --partial --exclude='media_info/' --exclude='*.cz' $server_address::$server_path $root_path > /var/log/updaterpm1.log
/mnt/mdk/Mandrakelinux-devel/cooker/misc/gendistrib --skipmissingdir --nochkdep /mnt/mdk/Mandrakelinux-devel/cooker/
Další informace o konferenci Linux