Мой коллега и я пытались удалить каталог и его содержимое.
Мы работаем над новой версией исходного кода наших веб-сайтов на Ubuntu 8.04 (dir: / var / www / sites), мы хотим удалить каталог веб-сайтов и воссоздать его из резервной копии .tar, которую мы создали пару недель назад. . Это делается для того, чтобы мы могли запустить процедуру развертывания в локальной среде до того, как мы сделаем это в нашей живой / общедоступной среде.
Мы используем эту команду:
rm -r websites
Это удаляет каталог и файлы в нем.
Проблема возникает, когда мы разархивируем наш файл резервной копии и просматриваем веб-сайт, на котором мы получаем файлы, которых нет в резервной копии .tar, на самом деле эти файлы были созданы всего несколько дней назад и должны были быть удалены.
Мы удаляем каталог еще раз, как указано выше, затем мы создаем новый каталог веб-сайтов, используя mkdir
команда. Как ни странно, на этом этапе «удаленные файлы» не возвращаются, но если мы распакуем наш файл .tar, «удаленные файлы» появятся снова.
Есть ли способ обеспечить удаление этих файлов или, по крайней мере, указателей, которые связывают их с указанным каталогом.
Большое спасибо!
РЕДАКТИРОВАТЬ
Э ... мы исправили это. Оказалось, что файлы, которые появляются снова, связаны с имеющейся у нас ссылкой на другой каталог (за пределами / var / www / sites), мы восстанавливали ссылку, но не удаляли файлы на другом конце. Ооо!
Большое спасибо за вашу помощь, ребята ... синдром пятницы :-)
Я думаю, что что-то либо воссоздает файлы, и вы должны это идентифицировать (может быть, проверьте журнал cron?), Либо файлы действительно находятся в вашем tar-файле.
Чтобы проверить, есть ли он в tar-файле:
tar tvf tarfile.tar | grep 'nameOfReappearingFile'
tar tvzf tarfile.tar.gz | grep 'nameOfReappearingFile'
tar tzjf tarfile.tar.bz2 | grep 'nameOfReappearingFile'
Чтобы найти задания cron, см. Эту публикацию Serverfault: Как просмотреть все вакансии Cron в Linux?. Вы также можете запустить top, чтобы посмотреть, есть ли какие-либо процессы, когда вы видите, что файлы начинают воссоздавать.
Похоже, что tar-файл действительно включает эти файлы. Если вы действительно удаляете каталог, то есть после того, как вы выполните команду rm, то «ls sites» покажет, что он был удален, тогда файлы должны находиться в файле tar.
tar tvf tarfile
Выведет список содержимого tarfile, ничего не извлекая.
Проблема заключалась в символической ссылке, которую никто из пользователей не мог обнаружить.
Не беспокоиться :-)