#!/bin/bash # # Makedist automatic clean script # Copyright (c) 2007-2023 by Silvan Calarco # . /etc/sysconfig/makedist [ "$MAKEDIST_CRON_ENABLE" = "1" ] || exit 0 SOURCEDIR=/var/makedist [ "$TODAYDATE" ] || TODAYDATE=`date +%Y%m%d` LANGS="it en" ARCHS="i586 arm x86_64 aarch64" tmpfile=`mktemp` [ "$tmpfile" ] || { echo "Error: cannot create temporary files; aborting." exit 1 } for m in $MILESTONES; do DESTBASEDIR=${REPODIR_LOCAL}/media/$m for l in $LANGS; do for d in `find $DESTBASEDIR/*/$l -maxdepth 0 -type d`; do for a in $ARCHS; do > $tmpfile # the following code was used to recover when unetbootin symlink was added causing all iso to be moved #for f in `find $d -type l`; do # rl=`readlink -f $f` # r=`basename $rl` # [ -e $d/old/$r ] && mv $d/old/$r* $d/ #done for f in `find $d -maxdepth 1 -type f -a \( -name "*.$a.iso" -o -name "*.$a.cpio.gz" -o -name "*.$a.tar.gz" -o -name "*.$a.tar.xz" -o -name "*.$a.tar.bz2" -o -name "*.$a.img.gz" \)`; do echo `stat -c %Z $f` `basename $f` >> $tmpfile done # move releases to /old subdir except the current one filecount=0 for f in `cat $tmpfile | sort -r | awk '{ print $2 }' `; do if [ $filecount = 0 ]; then [ "$VERBOSE" -o "$SIMULATE" ] && echo "KEEP $f" else [ "$VERBOSE" -o "$SIMULATE" ] && echo "MOVE $f" [ "$SIMULATE" ] && continue [ -e $d/old ] || mkdir -p $d/old mv $d/$f $d/old/ [ -e $d/$f.MD5.txt ] && mv $d/$f.MD5.txt $d/old/ [ -e $d/$f.torrent ] && mv $d/$f.torrent $d/old/ fi filecount=`expr $filecount + 1` done # clean old directory if [ -d $d/old ]; then > $tmpfile for f in `find $d/old -maxdepth 1 -name "*.$a.iso" -o -name "*.$a.cpio.gz" -o -name "*.$a.tar.gz" -o -name "*.$a.tar.xz" -o -name "*.$a.tar.bz2" -o -name "*.$a.img.gz"`; do echo `stat -c %Z $f` `basename $f` >> $tmpfile done SNAPSHOT_DATE= for f in `cat $tmpfile | sort -r | awk '{ print $2 }' `; do SNAPSHOT_DATE_PREVIOUS=$SNAPSHOT_DATE SNAPSHOT_DATE=`echo $f | sed "s|.*snapshot-\([0-9]*\)\..*|\1|"` if [ "${SNAPSHOT_DATE:0:6}" = "${SNAPSHOT_DATE_PREVIOUS:0:6}" ]; then [ "$VERBOSE" -o "$SIMULATE" ] && echo "DELE old/$f ($SNAPSHOT_DATE)" [ "$SIMULATE" ] && continue rm -f $d/old/$f [ -e $d/old/$f.MD5.txt ] && rm -f $d/old/$f.MD5.txt [ -e $d/old/$f.torrent ] && rm -f $d/old/$f.torrent else [ "$VERBOSE" -o "$SIMULATE" ] && echo "KEEP old/$f ($SNAPSHOT_DATE)" fi done fi done # echo # ls --sort=time $d/*.iso $d/*.cpio.gz #find $DESTBASEDIR -name *.iso done done done [ -e $tmpfile ] && rm -f $tmpfile