Не удаляемый файл из-за скрипта резервного копирования - PullRequest
1 голос
/ 11 февраля 2010

Я только что написал этот скрипт резервного копирования:

#!/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 Почему я не могу удалить этот файл?

Ответы [ 3 ]

1 голос
/ 11 февраля 2010

Какой тип файловой системы для этого каталога? Я вижу ссылки на настройки локали и ntfs-3g, приводящие к ошибке «файл существует» (ntfs-3g не может правильно отобразить файл, но он все еще там).

1 голос
/ 11 февраля 2010

Без дополнительной информации я выхожу на передний план: ваш сценарий верен, если немного опасен. Он пытается скопировать много файлов в область резервного копирования, но застревает, потому что не хватает места. Когда вы удаляете большой файл, вы освобождаете достаточно места для его копирования в другие файлы. Он может копировать их так быстро, как вы можете удалить их.

Я предлагаю вам завершить процесс, очистить область резервного копирования и поставить проверку пробела в сценарии.

1 голос
/ 11 февраля 2010

В некоторых средах rm связан с чем-то, что поддерживает удаление, чтобы попытаться спасти пользователей от самих себя. Интересно, может ли это быть так? Не могли бы вы повторить эксперимент с обоими

/bin/rm -r backup-Wed-Feb-10-16\:58\:59-EST-2010/

или, возможно,

/bin/rm -rf backup-Wed-Feb-10-16\:58\:59-EST-2010/

и дайте нам знать результаты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...