find удалить файлы старее 30 дней

Как найти и удалить файлы старше X дней в Linux

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

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

Вот быстрый способ сделать это.

В этом кратком руководстве вы узнаете, как находить и удалять файлы старше X дней в Linux и Unix-подобных операционных системах.

Найти и удалить файлы старше X дней в Linux

Отказ от ответственности: вы должны быть очень осторожны при выполнении этих команд.

Эти команды не запрашивают подтверждения перед удалением файлов.

Он просто удалит файлы после нажатия клавиши ENTER. Так что будьте очень осторожны!

Сначала давайте узнаем файлы старше X дней, например 30 дней.

Чтобы сделать так, просто:

Вышеупомянутая команда найдет и отобразит старые файлы старше 30 дней. Вот,

dot (.) – Представляет текущий каталог.
-mtime – представляет время изменения файла и используется для поиска файлов старше 30 дней.
-print – отображает старые файлы

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Если вы хотите искать файлы в определенном каталоге, просто замените точку на путь папки.

Например, чтобы узнать файлы, которые старше 30 дней в каталоге / home / sk / Downloads, просто запустите:

Теперь, чтобы удалить файлы, запустите любую из следующих команд.

Снова предупреждаю вас, что эти команды будут удалять файлы сразу после нажатия кнопки ENTER.

Перед выполнением этих команд будьте осторожны и дважды проверьте их.

Периодически удаляйте старые файлы, если они не нужны через регулярные промежутки времени, или резервируют их на любые внешние диски и освобождают место на диске.

Вы можете использовать свободное пространство для любых других полезных целей.

Источник

Как правильно удалять ненужные бэкапы?

Доброе утро всезнающий All.
Есть сервер на Linux Debian.
Делается бэкап. структура папок такова:

Но я никак не могу придумать, как удалять ненужные бэкапы, например, старее чем месяц или два.

Как это правильно реализовать?
Всем спасибо.

Оценить 1 комментарий

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

У меня есть python-скрипт rotater.py, который я когда-то написал специально для этих целей, и он служит верой и правдой и по сей день.

Его цель одна: когда у вас есть куча ежедневных бэкапов, этот скрипт удаляет старые бэкапы таким образом, что некоторые из них остаются, причем, чем старее, тем реже. По умолчанию хранится один бэкап в день за последнюю неделю, один бэкап в неделю за последние 12 недель, и один бэкап в месяц за последние 3 года. Все настраивается через параметры командной строки.

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Ну вот набыдлокодил немного:
нагенерил примерно подходящих каталогов

Конструкция [[ «$var1» > «$var2» ]] сравнивает строки «кто больше» по ASCII, но работает в баше, и не гарантируется такое же действие в других шеллах.

Источник

bash как удалить файлы и директории, старше x-дней?

Есть некая директория Test. В ней находятся файлы и папки. Как удалить только то, что старше 10 дней к примеру.

приводит к удалению и самой директории Test, если в ней нет свежих файлов, естественно.

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Там не только файлы под удаление, но и папки, в том то и проблема.

При Test, без свежих файлов, удаляет и саму Test

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Разница в скорости будет незаметна, но зато есть везде, ибо posix. Но для не \;, а +

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

При Test, без свежих файлов, удаляет и саму Test

Вариант с * не затронет сам каталог

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Утилита tmpwatch. Одна короткая строчка. И никаких предлагаемых тут нагромождений.

приводит к удалению и самой директории Test, если в ней нет свежих файлов, естественно.

делай touch /path/to/search/dir/.placeholder перед запуском find и всё. Никаких find dir/*, это пропустит все файлы и директории начинающиеся с точки «.»

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

с возможностью появления завтра у ТСа еще вопроса, например, что делать, если

Задачи нужно решать по условию и по мере поступления, а не прикидываться Вангой.

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Задачи нужно решать по условию и по мере поступления, а не прикидываться Вангой.

Вот только у вас не Ванга, а натуральный наполеонизм какой-то. Я комментировал не вас, а teod0r-а, который комментировал скрипт bash как удалить файлы и директории, старше x-дней? (комментарий)

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Скорее всего я просто не совсем верно интерпретировал ваш пост.

Источник

How to delete files older than X hours

I’m writing a bash script that needs to delete old files.

It’s currently implemented using :

This will delete of the files older than 1 day.

9 Answers 9

Or maybe look at using tmpwatch to do the same job. phjr also recommended tmpreaper in the comments.

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

Here is the approach that worked for me (and I don’t see it being used above)

deleting all the files older than 59 minutes while leaving the folders intact.

-mmin is for minutes.

Try looking at the man page.

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

If we were able to create a file that that has an mtime of our cut-off time, we can ask find to locate the files that are «not newer than» our reference file.

Fortunately, other old tools can manage this, albeit in a more unwieldy way.

To begin finding a way to delete files that are over six hours old, we first have to find the time that is six hours ago. Consider that six hours is 21600 seconds:

Since the perl statement produces the date/time information we need, use it to create a reference file that is exactly six hours old:

Now that we have a reference file exactly six hours old, the «old UNIX» solution for «delete all files older than six hours» becomes something along the lines of:

It might also be a good idea to clean up our reference file.

Источник

Команды для удаления большого количества файлов в Linux

Удаление старых файлов linux по маске чаще всего осуществляется следующим образом:

При удалении таким образом очень большого количества файлов из определенного каталога может выдавать ошибки — причина в том, что система на самом деле не видит маски и разворачивает передаваемое ей выражение — срабатывает ограничение на количество аргументов, и выполнение команды прекращается.

Синтаксис в простейшем случае может выглядеть так:

for f in /var/log/apache2/*.log; do rm «$f»; done

В цикл for можно добавить любую дополнительную логику.

Удаление старых файлов в Linux по Cron

Логи или другие файлы (сессии РНР) можно удалять как используя циклы (так приходится делать обычно если логов или других файлов накопилось действительно очень много), но если система не запущена или только создается лучше использовать регулярно выполняемое задание Cron, согласно которому с заданной периодичностью будут удаляться файлы определенных типов

# m h dom mon dow command

В примере удаляются сессии РНР для сайта старше 7 дней.

find удалить файлы старее 30 дней. Смотреть фото find удалить файлы старее 30 дней. Смотреть картинку find удалить файлы старее 30 дней. Картинка про find удалить файлы старее 30 дней. Фото find удалить файлы старее 30 дней

В цикле то же самое можно сделать так:

for f in /tmp/logs/*.log

Приведенное выражение, как и любой другой цикл можно поместить в файл, сделать его исполняемым и с тем же успехом выполнять по Cron

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *