powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / shell script найти файлы старше 3 дня от указаной даты
6 сообщений из 6, страница 1 из 1
shell script найти файлы старше 3 дня от указаной даты
    #38518521
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
суть задачи

нужно получить список файлов исходя из ситуации на хдд (find) и такойже список из базы данных

и того имеем, общий алгоритм таков.

nowts=`date +%s`

let max_time_for_db=$nowts-3600*24*3 //в базе будем искать записи, где время создания меньше чем max_time_for_db

ВОПРОС
а вот как теперь заставить find найти файлы, с темже ограничением ? просто взять старше 3 дней не подойдёт, ведь не будет совпадения временых ограничений до секунды.

искать старше файла, созданого и помеченого touch нужным временем, так этому тачу надо в специфичном формате время подсовывать. а не хочеться писать и молиться чтоб без ошибок самому отнимание трухсуток(вчасности проверять на высокосность год и прочее)

так вот вопрос - как быть?
можно поменять логику, лиш бы запустить файнд и запрос в базе с идентичным временым ограничением?
...
Рейтинг: 0 / 0
shell script найти файлы старше 3 дня от указаной даты
    #38518716
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск осуществляется с точностью до секунды.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$ man -s 1 find
...
     Example 6 Selecting a File Using 24-hour Mode

     The descriptions of -atime, -ctime, and -mtime use the  ter-
     minology n ``24-hour periods''. For example, a file accessed
     at 23:59 is selected by:

       example% find . -atime -1 -print

     at 00:01 the next day (less than 24 hours  later,  not  more
     than one day ago). The midnight boundary between days has no
     effect on the 24-hour calculation.
...

Тж. см., например, http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/find/find.c :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
...
		case ATIME:
			t = statb->st_atime;
			goto days;
		case CTIME:
			t = statb->st_ctime;
			goto days;
		case MTIME:
			t = statb->st_mtime;
		days:
			l = (now-t)/A_DAY;
			goto num;
...
		num:
			if (np->second.i == '+')
				val = (l > np->first.l);
			else if (np->second.i == '-')
				val = (l < np->first.l);
			else
				val = (l == np->first.l);
			break;
...
...
Рейтинг: 0 / 0
shell script найти файлы старше 3 дня от указаной даты
    #38524328
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо я не понял ответа, либо ты вопроса.

речь идёт о том, что

1)мы знаем текущее время(точность до секунды, в секундах) - Тсчас
2)нам надо в критерии добавка по времени - раньше чем Тпорог = (Тсчас - 60*60*24*3) --трое суток

3)сделать
два запроса - один в базу даных, другой в файловую систему, везде ищем только раньше порогового времени.

А то что ты написал, один час назад, ну найдёшь. но как потом базе дать искать с абсолюно тем же критерием, тоже нау - 1час?? так этот самый нау уже будет другим, не тем же что при поиске в файловой системе.

впринципе суть вопроса я сводил к тому, что как на шеле организовать работу с временим, выщитать его для обоих случаев.
...
Рейтинг: 0 / 0
shell script найти файлы старше 3 дня от указаной даты
    #38524822
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453, с помощью волшебной силы программирования.
Переменные есть, возможность запускать другие программы и тем самым запускать запросы в базу данных есть.
Что еще надо ?
...
Рейтинг: 0 / 0
shell script найти файлы старше 3 дня от указаной даты
    #38524858
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453,

Ты не понял ответа. Запиши свой now в отдельную переменную, а дальше используй ее когда надо и где надо - ее значение не изменится само по себе.
...
Рейтинг: 0 / 0
shell script найти файлы старше 3 дня от указаной даты
    #38525046
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453,

сначала записываешь текущее время в переменную, потом запускаешь find с нужным аргументом (-mtime 3, условно), а потом со значением переменной выполняешь запрос в БД. Между записью текущего времени в переменную и запуском find пройдёт некоторое время (порядка миллисекунд), им, думаю, можно спокойно пренебречь.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / shell script найти файлы старше 3 дня от указаной даты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]