Commit 6d44bac2 authored by Downloader's avatar Downloader

rsync_all.sh: sync base and delete old files only after success

parent bc41d41b
#!/bin/bash
# Written by Lav (c) 2001, 2002, 2003, 2004, 2008, 2016
# Written by Lav (c) 2001, 2002, 2003, 2004, 2008, 2016, 2019
# Vitaly Lipatov <lav@etersoft.ru>
# 24.12.01, 16.11.03, 30.12.03, 17.12.04
# Обновление Сизифа
......@@ -52,7 +52,7 @@ fi
RPMS=/var/ftp/pub/ALTLinux
TIMEOUT=5000
LISTARCH="i586 x86_64 x86_64-i586 noarch"
LISTARCH="x86_64 noarch i586 x86_64-i586"
DELETE="--delete-after --delete-excluded --max-delete=1000"
......@@ -65,7 +65,7 @@ echo "Start sync from $RSYNCPATH/$1 to $RPMS/$1"
# sync only if main dir is exist
test -d "$RPMS/${1/\/*/}" || return 0
mkdir -p $RPMS/$1/
rsync $DELETE --fuzzy --partial --inplace --timeout=$TIMEOUT --progress --stats -vrlt --copy-links $2 \
rsync $DELETE --fuzzy --partial --timeout=$TIMEOUT --progress $CHECKSUM --stats -vrlt --copy-links $2 \
$RSYNCPATH/$1/ $RPMS/$1/
RES=$?
echo "rsync exit: $RES"
......@@ -81,24 +81,38 @@ sync_file()
RSYNCPATH=$(get_rsync_path $1)
echo
echo "Start sync from $RSYNCPATH/$1 to $RPMS/$1"
rsync $DELETE --fuzzy --partial --timeout=$TIMEOUT --progress --stats -vrlt --copy-links \
--exclude "*SRPMS*" \
rsync $DELETE --fuzzy --partial --timeout=$TIMEOUT --progress $CHECKSUM --stats -vrlt --copy-links \
--exclude "*SRPMS*" --exclude "*RPMS.debuginfo*" \
$RSYNCPATH/$1 $RPMS/$1
}
sync_branch()
{
local BRANCH="$1"
local ARCH="$2"
RSYNCPATH=$(get_rsync_path $BRANCH)
# 1. sync files, without delete
(DELETE='' func $BRANCH/$ARCH '--exclude *SRPMS* --exclude *RPMS.debuginfo* --exclude */base/*') || return
# 2. sync base
func $BRANCH/$ARCH/base || return
# 3. if all is ok, remove old files
func $BRANCH/$ARCH '--exclude *SRPMS* --exclude *RPMS.debuginfo* --exclude */base/*' || return
}
sync_branches()
{
RSYNCPATH=$(get_rsync_path $1)
local i
if [ -n "$BASEONLY" ] ; then
for i in $LISTARCH; do
func $1/$i/base --checksum
func $1/$i/base
done
return
fi
for i in $LISTARCH; do
func $1/$i '--exclude *SRPMS*'
sync_branch "$1" "$i"
done
}
......@@ -126,6 +140,12 @@ if [ "$1" = "base" ] ; then
shift
fi
CHECKSUM=''
if [ "$1" = "--checksum" ] ; then
CHECKSUM="--checksum"
shift
fi
if [ "$1" = "Sisyphus" ] ; then
sync_branches $1
exit
......@@ -147,22 +167,13 @@ elif [ -n "$1" ] ; then
exit
fi
# we do not update 5.0
#for i in 4.0 4.1 p5 p6 c6 t6 p7 t7; do
for i in p6 p7 p8; do
# move branches
#mkdir $i/branch/ || continue
#for a in i586 x86_64 x86_32 noarch ; do
# mv $i/$a $i/branch/ || exit
# ln -s branch/$a $i/$a || exit
#done
for i in c7 c8 p8 p9; do
sync_branches $i/branch
done
sync_other p8/images
#sync_other p8/images
for i in Sisyphus ; do
# FIXME: cert6/x86_32?
sync_branches $i
done
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment