commit 0690b9552bfd305d3d8773c0b6542539abe10034 Author: Dict Xiong Date: Sun Nov 20 12:02:29 2022 +0800 init; not very clean diff --git a/locked.sh b/locked.sh new file mode 100755 index 0000000..723a6ed --- /dev/null +++ b/locked.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +sed -i '4 s/$/?/' /mnt/mirrors/status/${1//\//\-}.log diff --git a/postsync.sh b/postsync.sh new file mode 100755 index 0000000..53f9085 --- /dev/null +++ b/postsync.sh @@ -0,0 +1,3 @@ +#! /bin/zsh + +echo -e "${1}\n$(du -h --max-depth=0 /mnt/mirrors/$1 | awk '{print $1}')\n$(date +'%Y-%m-%d %H:%M:%S')\n${2}" > /mnt/mirrors/status/${1//\//\-}.log diff --git a/presync.sh b/presync.sh new file mode 100755 index 0000000..d54020c --- /dev/null +++ b/presync.sh @@ -0,0 +1,4 @@ +#!/bin/zsh + +sed -i "4c syncing..." /mnt/mirrors/status/${1//\//\-}.log +sed -i "3c $(date +'%Y-%m-%d %H:%M:%S')" /mnt/mirrors/status/${1//\//\-}.log diff --git a/sync.sh b/sync.sh new file mode 100755 index 0000000..8700efb --- /dev/null +++ b/sync.sh @@ -0,0 +1,15 @@ +#!/bin/zsh + +for src in {CTAN,ubuntu,docker-ce/linux/ubuntu,ubuntu-releases} +do + if [ ! -f "/tmp/mirror-${src//\//\-}.lock" ]; + then + touch /tmp/mirror-${src//\//\-}.lock + /home/root/programs/dxsync/presync.sh $src + rsync -4avzthP --stats --delete --bwlimit=6000 --log-file=/var/log/rsync-mirrors-${src//\//\-}.log rsync://mirrors4.tuna.tsinghua.edu.cn/$src /mnt/mirrors/$src + /home/root/programs/dxsync/postsync.sh ${src} $? + rm /tmp/mirror-${src//\//\-}.lock + else + /home/root/programs/dxsync/locked.sh $src + fi +done