BASH Изменить имя файла с добавление к его имени текущей даты с помощью Find
find /home/kali/Desktop/exam/logs/ -cmin 10 -exec cp '{}' /home/kali/Desktop/exam/backup/ \;
На данный момент у меня есть такая команда в скрипте, которая ищет в папке logs файлы, которые были изменены за последние 10 минут и копирует их в папку backup.
Мне необходимо к этим копируемым файлам добавить после имени файла текущую дату и время в формате file_YYYY-MM-DD_HH-MM .
Имя файла мне неизвестно, я не могу при копировании после директории написать изменение имени со старого на новое.
Ответы (1 шт):
Автор решения: user207200
→ Ссылка
#!/bin/bash
cd /home/kali/Desktop/exam/logs
find * -maxdepth 0 -type f -cmin -10 -exec cp "{}" "/home/kali/Desktop/exam/backup/{}_`date +%Y-%m-%d_%H-%M`" \;
P.S. Для подобных задач можно прикрутить logrotate, написав конфигурацию для конкретной директории. Запускать можно через crontab
или systemd-timer
.