Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 3 | set -xe |
| 4 | set -o pipefail |
| 5 | stamp=$(date "+%Y_%m_%d_%H_%M_%S") |
| 6 | DEBMLOG=/var/log/debmirror/${stamp}.log |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 7 | MIRRORDIR=/srv/aptly/public |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 8 | MCP_VERSION=${MCP_VERSION:-stable} |
| 9 | MIRROR_HOST=${MIRROR_HOST:-"mirror.mirantis.com"} |
| 10 | method=${CLONE_METHOD:-"rsync"} |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 11 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 12 | if [[ ${method} == "rsync" ]] ; then |
| 13 | m_root=":mirror/$MCP_VERSION/ubuntu" |
| 14 | elif [[ ${method} == "http" ]] ; then |
| 15 | m_root="$MCP_VERSION/ubuntu" |
| 16 | else |
| 17 | echo "LOG: Error: unsupported clone method!" 2>&1 | tee -a $DEBMLOG |
| 18 | exit 1 |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 19 | fi |
| 20 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 21 | ### Script body ### |
| 22 | echo "LOG: Start: $(date '+%Y_%m_%d_%H_%M_%S')" 2>&1 | tee -a $DEBMLOG |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 23 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 24 | mkdir -p $(dirname ${DEBMLOG}) ${MIRRORDIR} |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 25 | # Ubuntu General |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 26 | echo "LOG: Ubuntu Mirror" 2>&1 | tee -a $DEBMLOG |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 27 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 28 | debmirror --verbose --method=${method} --progress \ |
| 29 | --host=${MIRROR_HOST} \ |
| 30 | --arch=amd64 \ |
| 31 | --dist=xenial,xenial-security,xenial-updates \ |
| 32 | --root=${m_root} \ |
| 33 | --section=main,multiverse,restricted,universe \ |
| 34 | --rsync-extra=none \ |
| 35 | --nosource \ |
| 36 | --no-check-gpg \ |
| 37 | --exclude-deb-section=games \ |
| 38 | --exclude-deb-section=gnome \ |
| 39 | --exclude-deb-section=Xfce \ |
| 40 | --exclude-deb-section=sound \ |
| 41 | --exclude-deb-section=doc \ |
| 42 | --exclude-deb-section=electronics \ |
| 43 | --exclude-deb-section=graphics \ |
| 44 | --exclude-deb-section=hamradio \ |
| 45 | --exclude-deb-section=localization \ |
| 46 | --exclude-deb-section=kde \ |
| 47 | --exclude-deb-section=video \ |
| 48 | --exclude='/firefox*' \ |
| 49 | --exclude='/chromium-browser*' \ |
| 50 | --exclude='/ceph*' \ |
| 51 | --exclude='/*-wallpapers*' \ |
| 52 | --exclude='/language-pack-(?!en)' \ |
| 53 | $MIRRORDIR/ubuntu 2>&1 | tee -a $DEBMLOG |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 54 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 55 | echo "LOG: Fixing ownership" 2>&1 | tee -a $DEBMLOG |
| 56 | find "${MIRRORDIR}" -type d -o -type f -exec chown aptly:aptly '{}' \; 2>&1 | tee -a $DEBMLOG |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 57 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 58 | echo "LOG: Fixing permissions " 2>&1 | tee -a $DEBMLOG |
| 59 | find "${MIRRORDIR}" -type d -o -type f -exec chmod u+rw,g+r,o+r-w {} \; 2>&1 | tee -a $DEBMLOG |
Richard Felkl | 7ae81d6 | 2018-01-04 22:29:03 +0100 | [diff] [blame] | 60 | |
azvyagintsev | f9f0d14 | 2018-01-10 15:27:17 +0200 | [diff] [blame] | 61 | echo "LOG: Mirror size " 2>&1 | tee -a $DEBMLOG |
| 62 | du -hs "${MIRRORDIR}" 2>&1 | tee -a $DEBMLOG |
| 63 | |
| 64 | echo "LOG: Finish:$(date '+%Y_%m_%d_%H_%M_%S')" 2>&1 | tee -a $DEBMLOG |
| 65 | |