Вы можете настроить rsync для --delete-after
передачи. Он также включает в себя множество других опций - то есть вы можете вообще избежать шага tar / gzip. Используйте rsync для резервного копирования ваших материалов и удаления локальной копии. Для некоторых подробных инструкций смотрите scrounge.org и mikerubel.org и это .
Как мне tar / gzip и затем безопасно удалить каталоги?
Как мне tar / gzip и как-то безопасно удалить файлы?
Предыстория : у нас недостаточно места на диске на компьютере с Ubuntu (Hardy Heron), и я хочу использовать tar / gzip, убедиться, что он работает, а затем удалить некоторые каталоги, которые я больше не использую. Я планирую сделать tar gzip для каждого каталога, от которого я избавляюсь. (Gzips будет на жесткий диск, а не на магнитную ленту)
Я нашел решение, которое должно быть безопасным, но не на unix.com . Это небезопасно, потому что в текущих версиях tar, --remove-files может удалять файлы, даже если архив не создан. (Признано как ошибка в этом письме )
Я также заметил параметр --compare, но он говорит, что он «игнорирует файлы в файловой системе, которые не имеют соответствующих членов в архиве».
Кроме того, gzipping не влияет на способность tar проверять существующие файлы?
2 ответа на вопрос
Я использую этот скрипт для собственного использования:
#!/bin/ksh # # @(#)$Id: save.sh,v 2.2 2007/09/01 23:41:23 jleffler Exp $" # # Compress directories to save space case $(id | sed 's/^uid=\([0-9][0-9]*\)(.*/\1/') in 0) echo "$(basename $0 .sh): cannot run safely as root!" 1>&2 exit 1;; esac for d in ${*:-`pwd`} do ( set -e echo $d cd $d b=`basename $d` chmod 755 . [ ! -d Safe ] && mkdir Safe chmod 755 Safe # GNU Tar Only! find . -type f -print | grep -v '^./Safe' | tar -czf Safe/$b.tgz -T - chmod 444 Safe/$b.tgz chmod 555 Safe (set +e; rm -fr `pwd` 2>/dev/null ; exit 0) chmod 755 Safe mv Safe/* . rmdir Safe chmod 555 . ) done
Обратите внимание, что «root» может удалять каталоги, даже если владелец не может - поэтому он не разрешает «root» запускать его. Попробуйте это на копии своего каталога, прежде чем рисковать чем-то важным. Я счастлив с этим - вы можете предпочесть что-то еще.
Однажды я заставлю его работать с 'bzip2' или другими компрессорами.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
9
"Отсоединить" и "Reattach" Xterms через X сессий?
-
-
1
Windows дата репрезентация
-
9
grep все файлы .java в каталоге для конкретной строки
-
1
Является ли kill -STOP временной командой?
-
2
Изменить количество строк и столбцов в VT420?
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
2
Можно ли передать выходные данные одной команды двум другим командам?
-
3
Хватит cron отправлять мне письма