LINUX.ORG.RU
решено ФорумAdmin

Копирование файла в папку с текущей датой датой

 , ,


0

1

Здравствуйте! Подскажите, пожалуйста, скрипт на копирование файла в папку с текущей датой в названии. Папка с датой ежедневно создается mkdir /home/user/date +%d-%m-%Y. Файл всегда имеет одно и то же имя, и нужно, что бы при копировании в месте назначения не заменялся файл, а файл копировался с добавлением окончания по порядковому номеру, например. Помогите ,пожалуйста, новичку, потому что я уже читаю-читаю, ничего такого найти не могу, или просто копирование описано через cp или еще что, ничего полезного. Буду крайне благодарен!


Обязательно порядковый номер?

Если да, то порядковый номер нужно где-то хранить.
Либо пытаться писать увеличивая номер пока не найдётся свободный.
Либо взять верхний с обратно отсортированного списка и увеличить на 1.

Первый вариант как мне кажется более правильный.

Но почему бы не использовать секунды, микросекунды вместо номеров?

surefire ★★★
()
Последнее исправление: surefire (всего исправлений: 1)

Используй +%s в названии файлов, тогда они будут иметь уникальные название, и выдумывать не придется.

anonymous
()
Ответ на: комментарий от surefire

Я тоже думал о том, что файл при копировании будет переименовываться в date +%d-%m-%H-%M-%S. Мне имя не так важно. Важно, чтобы при копировании в папку назначения файл с таким же именем не затирался, а изменялось имя и он сохранялся дополнительно в папку с датой. Основной вопрос, как скопировать файл в папку с текущей датой? Ну то есть может есть какая команда на копирование типа cp /home/test.csv /home/current_date_dir/… Меня интересует именно как задать целевую папку, имя которой задается таким шаблоном date +%d-%m-%Y

try20
() автор топика
Ответ на: комментарий от anonymous

mkdir вернёт ошибку, если директория уже есть и всё больше одного файла не запишется.

Лучше как-то так:

install -Dm644 "/path/to/file" "/home/user/$(date -I)/file-$(date +%s)"
surefire ★★★
()
Ответ на: комментарий от surefire

Сработало. Спасибо большое! С меня пиво при случае.

try20
() автор топика
Ответ на: комментарий от anonymous

Немного изменил и тоже работает, спасибо большое.

try20
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.