Скрипт удаления (удаление файлов 3 дневной давности)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Kataklysm
Сообщения: 280
ОС: Linux Suse 10.2-10.3 Sles-10.1

Скрипт удаления

Сообщение Kataklysm »

Доброе время суток. Скажите пожалуйста, как сделать скрипт на bash по удалению файлов 3 дневной давности, исходя из даты их создания?
Заранее благодарен.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Скрипт удаления

Сообщение allez »

Что, лабораторная или контрольная "горит"? ;)

По теме: тут и без скрипта обойтись можно. Достаточно одной-единственной команды find. За подробностями добро пожаловать в man find. Но все же малость подскажу: почитайте про опции -ctime и -exec.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Скрипт удаления

Сообщение nesk »

Kataklysm писал(а):
08.05.2008 10:20
Доброе время суток. Скажите пожалуйста, как сделать скрипт на bash по удалению файлов 3 дневной давности, исходя из даты их создания?
Заранее благодарен.

ну нету в юникс системах у файла даты создания.

find /tmp -type f -mtime +3 -exec rm {} \;
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
Kataklysm
Сообщения: 280
ОС: Linux Suse 10.2-10.3 Sles-10.1

Re: Скрипт удаления

Сообщение Kataklysm »

allez
nesk

Спасибо, понял :)
С наступающим праздником.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Скрипт удаления

Сообщение allez »

nesk писал(а):
08.05.2008 10:23
ну нету в юникс системах у файла даты создания.

Да, и поэтому за дату создания условно принимается дата последнего изменения метаданных (Change Time или ctime). А mtime или Modification Time - это время последнего изменения содержимого файла. Содержимое файлов меняется, как правило, чаще, чем метаданные - имя файла, владелец, группа, права доступа и пр., поэтому является относительно менее надежной характеристикой...
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Скрипт удаления

Сообщение nesk »

allez писал(а):
08.05.2008 10:29
nesk писал(а):
08.05.2008 10:23
ну нету в юникс системах у файла даты создания.

Да, и поэтому за дату создания условно принимается дата последнего изменения метаданных (Change Time или ctime).

ох уж мне эти условности и недосказанности :)
ctime может показывать сегодняшнее число, а скажем mtime позавчерашнее. Файл модифицирован за два дня до создания? :crazy:
Давайте отбросим условности и будем называть вещи своими именами.


Хотя ctime самое честное время, его труднее всего подделать. :)

allez писал(а):
08.05.2008 10:29
nesk писал(а):
08.05.2008 10:23
ну нету в юникс системах у файла даты создания.

Да, и поэтому за дату создания условно принимается дата последнего изменения метаданных (Change Time или ctime). А mtime или Modification Time - это время последнего изменения содержимого файла. Содержимое файлов меняется, как правило, чаще, чем метаданные - имя файла, владелец, группа, права доступа и пр., поэтому является относительно менее надежной характеристикой...

при записи в файл изменяется одновременно mtime и ctime
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Скрипт удаления

Сообщение allez »

nesk писал(а):
08.05.2008 10:35
при записи в файл изменяется одновременно mtime и ctime

Да, действительно. Мой ляп, признаю. :)
Спасибо сказали: