(Automatisk) slette mapper med mellmrum i navnet
Har en stor UNIX baseret filserver...Der er oprettet en række Sambabaserede mapper.
Windows-brugerene opretter diverse mapper efter behov/project.
Disse mapper/filer slettes automatisk efter X dage via et CRON job om natten fint nok.
MEN
Visse mapper kan indeholde ét eller flere MELLEMRUMSTEGN i navnet og det kan [rmdir] jo som standard ikke finde ud af...
Eks:
/server/P2/Peter Hansen 123456/bla/bla/filer
Så mappen
/Peter Hansen 123456/bla/bla/filer
og nedefter skal slettes (der ER gået 2 døgn i dette tilfælde) men [rmdir] pejer på
Peter
Hansen
123456
og det er der jo ikke noget der hedder - og så bliver mappen
/Peter Hansen 123456/
hængende resten af livet...
CRON jobet er pt. noget i denne retning (uddrag):
#! /sbin/sh
short="P1 P2 P3 P4 P5 P6 P7 P8 P9"
# Short term cleanup (Delete 2 days)
for dir in $short
do
find /server/$dir/ -mtime +2 -type f -exec rm {} \;
tempdir=`find /server/$dir/ -type d`
for i in $tempdir
do
n=`ls -a1 $i | wc -l`
if [ $n -eq 2 ]; then
rmdir "$i"
# echo rmdir "$i"
fi
done
done