make_mirror.sh: output log and exit status to two individual files

This commit is contained in:
Johannes Schauer Marin Rodrigues 2023-01-16 07:54:03 +01:00
parent e93c145822
commit de8e31193b
Signed by: josch
GPG key ID: F2CBA5C78FBD83E1
3 changed files with 12 additions and 8 deletions

View file

@ -594,12 +594,12 @@ handler () {
} 2>&1; } 2>&1;
} | { read xs; exit $xs; }; } | { read xs; exit $xs; };
} 3>&1 || ret=$? } 3>&1 || ret=$?
echo $ret > /mnt/exitstatus.txt
if [ -e cover_db.img ]; then if [ -e cover_db.img ]; then
df -h cover_db df -h cover_db
umount cover_db umount cover_db
fi fi
echo $ret ) > /mnt/output.txt 2>&1
) > /mnt/result.txt 2>&1
umount /mnt umount /mnt
systemctl poweroff systemctl poweroff
END END

View file

@ -23,8 +23,8 @@ done
cd ./shared; cd ./shared;
$SUDO sh -x ./test.sh; $SUDO sh -x ./test.sh;
echo $?; echo $?;
) 2>&1 | tee shared/result.txt | head --lines=-1 ) 2>&1 | tee shared/output.txt
if [ "$(tail --lines=1 shared/result.txt)" -ne 0 ]; then if [ "$(cat shared/exitstatus.txt)" -ne 0 ]; then
echo "test.sh failed" echo "test.sh failed"
exit 1 exit 1
fi fi

View file

@ -11,10 +11,8 @@ cleanup() {
rm -f "$tmpdir/debian-$DEFAULT_DIST-overlay.qcow" rm -f "$tmpdir/debian-$DEFAULT_DIST-overlay.qcow"
rm -f "$tmpdir/log" rm -f "$tmpdir/log"
[ -e "$tmpdir" ] && rmdir "$tmpdir" [ -e "$tmpdir" ] && rmdir "$tmpdir"
if [ -e shared/result.txt ]; then if [ -e shared/output.txt ]; then
head --lines=-1 shared/result.txt res="$(cat shared/exitstatus.txt)"
res="$(tail --lines=1 shared/result.txt)"
rm shared/result.txt
if [ "$res" != "0" ]; then if [ "$res" != "0" ]; then
# this might possibly overwrite another non-zero rv # this might possibly overwrite another non-zero rv
rv=1 rv=1
@ -45,6 +43,12 @@ case $ARCH in
*) echo "qemu kvm not supported on $ARCH" >&2;; *) echo "qemu kvm not supported on $ARCH" >&2;;
esac esac
echo 1 > shared/exitstatus.txt
if [ -e shared/output.txt ]; then
rm shared/output.txt
fi
touch shared/output.txt
# the path to debian-$DEFAULT_DIST.qcow must be absolute or otherwise qemu will # the path to debian-$DEFAULT_DIST.qcow must be absolute or otherwise qemu will
# look for the path relative to debian-$DEFAULT_DIST-overlay.qcow # look for the path relative to debian-$DEFAULT_DIST-overlay.qcow
qemu-img create -f qcow2 -b "$(realpath "$cachedir")/debian-$DEFAULT_DIST.qcow" -F qcow2 "$tmpdir/debian-$DEFAULT_DIST-overlay.qcow" qemu-img create -f qcow2 -b "$(realpath "$cachedir")/debian-$DEFAULT_DIST.qcow" -F qcow2 "$tmpdir/debian-$DEFAULT_DIST-overlay.qcow"