remove old qcows if filesize on server has changed

This commit is contained in:
Raphael Dannecker 2023-10-07 12:00:42 +02:00
parent 022e8ff19b
commit 3768d0e77b
2 changed files with 22 additions and 0 deletions

View file

@ -65,8 +65,25 @@ sync_all_images() {
/lmn/vm/
}
delete_old_qcows() {
cd /lmn/vm
for qcow2 in *.qcow2; do
qcowsize=$(stat -c%s "${qcow2}")
if [[ -f "${qcow2}.size" ]] && [[ "${qcowsize}" != $(<"${qcow2}.size") ]]; then
torrent="${qcow2}.torrent"
session="${torrent//./_}"
if vmimage-torrent status | grep -qw ^"$session"; then
vmimage-torrent stop "${qcow2}"
fi
rm "${qcow2}"
fi
done
}
sync_all_torrents() {
rsync -ai rsync://server:/vmimages-download/*.torrent /lmn/vm/
rsync -ai rsync://server:/vmimages-download/*.size /lmn/vm/
delete_old_qcows
rsync -ai rsync://server:/vmimages-download/*.xml /lmn/vm/
RSYNC_COMMAND=$(rsync -ai --delete --exclude=mimeinfo.cache rsync://server:/vmimages-download/desktop/ /usr/local/share/applications/ | sed '/ \.\//d')
if [[ $? -eq 0 ]] && [[ -n "${RSYNC_COMMAND}" ]]; then

View file

@ -42,9 +42,14 @@ upload_image() {
cd /lmn/vm
# (re-) create torrent file
sudo -u lmnsynci /usr/local/bin/vmimage-torrent create "${VM_NAME}.qcow2"
# create size-information-file
stat -c%s "${VM_NAME}.qcow2" > "${VM_NAME}.qcow2.size"
chown lmnsynci:lmnsynci "${VM_NAME}.qcow2.size"
# Upload Torrent, qcow2 and machine-definition-XML
[[ -f "/lmn/vm/${VM_NAME}.qcow2.torrent" ]] && rsync -av --password-file=/etc/rsync.secret \
"/lmn/vm/${VM_NAME}.qcow2.torrent" rsync://vmuser@server:/vmimages-upload/
rsync -av --password-file=/etc/rsync.secret "/lmn/vm/${VM_NAME}.qcow2.size" \
rsync://vmuser@server:/vmimages-upload/
rsync -av --password-file=/etc/rsync.secret "/lmn/vm/${VM_NAME}.qcow2" \
rsync://vmuser@server:/vmimages-upload/
rsync -av --password-file=/etc/rsync.secret "/lmn/vm/${VM_NAME}.xml" \