LinuxForum.Fans
Тема

Помогите удалить старые файлы

Автор: RUS86 8 сообщений 927 просмотров
10.06.2020 08:49 #434914

Доброго всем времени суток.
Стоит такая задача. На майл.ру есть облако, которое подключено в виде сетевой папки (с помощью программы Диск О:) к машине Windows Server 2016. Также на этом сервере в виде сетевой папки подключен NFS диск, который физически находится на бэкап сервере CentOS Linux release 7.6.1810 (Core). На виндовом сервере ежедневно запускается задача по копированию папки из облака в NFS папку бэкап сервера в виде каталогов

text
[avk@backup oblako]$ ls -l
итого 32
drwxr-xr-x.  4 avk avk   95 апр 30 17:36 distant01.05.2020
drwxr-xr-x.  8 avk avk  227 июн  1 05:46 distant01.06.2020
drwxr-xr-x.  9 avk avk  250 июн  2 02:46 distant02.06.2020
drwxr-xr-x.  9 avk avk 4096 июн  3 01:06 distant03.06.2020
drwxr-xr-x.  4 avk avk   72 май  3 13:55 distant04.05.2020
drwxr-xr-x. 12 avk avk 4096 июн  4 07:11 distant04.06.2020
drwxr-xr-x.  4 avk avk   72 май  4 20:29 distant05.05.2020
drwxr-xr-x. 14 avk avk 4096 июн  5 03:37 distant05.06.2020
drwxr-xr-x.  4 avk avk   72 май  6 01:00 distant06.05.2020
drwxr-xr-x. 16 avk avk 4096 июн  6 11:39 distant06.06.2020
drwxr-xr-x.  5 avk avk   90 май  7 10:04 distant07.05.2020
drwxr-xr-x. 18 avk avk 4096 июн  6 22:48 distant07.06.2020
drwxr-xr-x.  5 avk avk   90 май  8 02:27 distant08.05.2020
drwxr-xr-x. 18 avk avk 4096 июн  8 08:24 distant08.06.2020
drwxr-xr-x.  5 avk avk   90 май  8 22:42 distant09.05.2020
drwxr-xr-x. 18 avk avk 4096 июн  8 22:05 distant09.06.2020

Чтобы удалялись папки недельной давности в крон я забил команду
[console]find /home/nfs/FP/backup/oblako -atime +7 -print0 | xargs -0 rm -rf[/console]

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

10.06.2020 08:51 #434915

Используйте BB-коды для оформления сообщения. Немного его отредактировал.

10.06.2020 08:51 #434916

Можно ли как то при копировании с облака в бэкап изменить даты у каталогов и файлов на текущую?

10.06.2020 08:55 #434917
"RUS86" написал:
Можно ли как то при копировании с облака в бэкап изменить даты у каталогов и файлов на текущую?

[console]man cp[/console]
Почитайте, там это есть.

10.06.2020 09:10 #434918
Rizado написал:
[quote="RUS86"]Можно ли как то при копировании с облака в бэкап изменить даты у каталогов и файлов на текущую?

[console]man cp[/console]
Почитайте, там это есть.[/quote]
Так у меня копированием виндовый сервер занимается, а не линуксовый с помощью батника
[console]chcp 1251 >nul
robocopy Z:\ N:\backup\oblako\distant%date% /E /R:3 /W:10 /UNICODE /COPY:DA[/console]
Добавлено: 10.06.2020 09:08:48

Хотя наверно это уже надо спрашивать на виндовых форумах:-)

Добавлено: 10.06.2020 09:10:24

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

10.06.2020 09:13 #434919
"RUS86" написал:
Хотя наверно это уже надо спрашивать на виндовых форумах:-)

Вы правы.

10.06.2020 11:05 #434921
RUS86 написал:
...мне нужно чтобы удалялись только каталоги старше недели со всем содержимым, а свежие бэкапы сохранялись со всем содержимым, даже если файлы внутри этого каталога старше недели.

Тогда, может быть требуется искать только каталоги + использовать глубину поиска в find?
[console]
[root@localhost /]# find /111 -maxdepth 0 -type d
/111
[root@localhost /]# find /111 -maxdepth 1 -type d
/111
/111/333
/111/444
/111/111
/111/222
[root@localhost /]# find /111 -maxdepth 2 -type d
/111
/111/333
/111/333/ccc
/111/444
/111/444/ddd
/111/111
/111/111/aaa
/111/222
/111/222/bbb
[/console]
И ещё... mtime - поиск изменённых "тогда-то", atime - поиск открытых "тогда-то". Или Вы не про это?
find в примерах: https://losst.ru/komanda-find-v-linux

10.06.2020 11:13 #434922

Нет глубина поиска тут не причем, количество каталогов внутри папки может быть любое, -mtime - поиск по времени модификации файла, немного не то мне кажется... Файл например был модифицирован, изменен еще месяц назад, но его бэкап я сделал только вчера... Походу скорее всего надо рыть в сторону ROBOCOPY, чтобы он при коировании изменял дату или создания или модификации у файлов

Войдите или зарегистрируйтесь, чтобы ответить.