Я только что написал этот скрипт резервного копирования:
#!/usr/bin/bash
# the number of days to do the backup for.
days=5;
# the files to backup.
location[0]='/opt/aDirectory/'
location[1]='/extra/anotherDirectory/'
# the location to copy the file to
copyLocation='/users/JoeBlow/Backup/backup-'$(date | tr ' ' '-')
# Log stuff
mkdir $copyLocation
echo "made backup for last $days">>$copyLocation/log
for loc in ${location[*]}
do
echo "made backup of $loc" >> $copyLocation/log
done
echo "Errors and Warnings from find and cp" >> $copyLocation/log
# preform the back up
for loc in ${location[*]}
do
for toBack in `find $loc \! -name '*.class' -mtime -$days \! -type d -print 2>> $copyLocation/log`
do
temp=${copyLocation}$(dirname $toBack)
mkdir -p $temp 2>> $copyLocation/log
cp $toBack $temp 2>> $copyLocation/log
done
done
Но это вызывает у меня горе.
Когда я тестировал его, я достиг своей дисковой квоты. Я думал, нет проблем, я просто rm -r
каталог, который я создал, очистить место и попробуйте снова. Нету. Не работает Я получаю эту ошибку;
% rm -r backup-Wed-Feb-10-16\:58\:59-EST-2010/
rm: Unable to remove directory backup-Wed-Feb-10-16:58:59-EST-2010//direcotry/something: File exists
....
Проблема с разрешениями, верно? Неправильно.
Я перешел на самое низкое место в этом каталоге, и там есть один действительно большой скрытый файл. Так что я rm
это. Это позволяет удалить его, но помещает новый файл в каталог с немного другим именем. Что такое гонг?
Два вопроса:
1 Что-то не так с моим скриптом резервного копирования?
2 Почему я не могу удалить этот файл?