Nun ja, wenn in dieser eine Minute die Ordner in diesem Ausmaß gelöscht werden soll (wird ganz sicher nicht innerhalb 1 Minute fertig sein, wenn es um 2 TBs geht), wird schon der nächste Befehl aufgerufen und der erkennt natürlich die Veränderungen (da ja grad die Dateien gelöscht werden) und ruft dann die gliechen Zeilen auf und sie löschen dann ... und .. was kommt dann? ERORR
Ich dachte gerade du antwortest dir selbst.
frimp, framp, fremp, fromp
Ich habe das bei mir so gelöst, dass ich zu beginn einer 'Aktion' eine Datei schreibe. Zum Ende der 'Aktion' wird die Datei wieder gelöscht.
Beim nächsten Durchlauf prüfe ich zuerst, ob diese Datei schon/noch vorhanden ist, und nutze einen 'EXIT 0', um den vorhandenen Prozess nicht zu gefährden.
#!/bin/bash
LOCKFILE="./LOCKFILE"
if [ -e ${LOCKFILE} ] && kill -0 `cat ${LOCKFILE}`; then
echo "Läuft bereits, Exit"
exit
fi
trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT
echo $$ > ${LOCKFILE}
echo "Ab hier dein Code"
sleep 20
#!/bin/bash
LOCKFILE="./LOCKFILE"
exec 100>${LOCKFILE} || exit 1
flock -n 100 || exit 1
trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT
echo "Ab hier dein Code"
sleep 20
Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.
Als Dankeschön schalten wir deinen Account werbefrei.