Как создать самоудаляющиеся файлы в Linux

Самоудаляющиеся файлы

Вы когда-нибудь задумывались о том, как создать файл, который исчезнет через определенное время? Такая функция может оказаться полезной в различных сценариях: от автоматизации рутинных задач до обеспечения безопасности данных. В этой статье я поделюсь с вами простым, но эффективным способом создания самоудаляющихся файлов в Linux. Я покажу, как написать bash-скрипт, который не только создает файл, но и планирует его удаление в заданное время или через определенный промежуток времени.

Еще по теме: Автоматическое удаление файла после выполнения

Зачем это нужно? В моем случае я хотел создать механизм, не позволяющий скрипту отправлять почту с системными событиями, если последнее письмо было отправлено менее часа назад. Но вы наверняка найдете и другое применение.

Скрипт для самоудаления файла Linux

В Linux нет встроенной команды для создания самоудаляющихся файлов, поэтому мы создадим ее сами. Это проще, чем кажется.

Создайте следующий скрипт и сохраните его как sdelete.sh:

Сделайте скрипт исполняемым:

Проверив через минуту, мы убедимся, что файл hello.txt больше не существует.

Создание и удаление файла в определенное время:

Скрипт использует команду at, она  используется для планирования выполнения команд в будущем. Она читает команды из стандартного ввода или указанного файла и выполняет их в заданное время.

Примеры использования

Вот несколько простых примеров использования команды at.

Запланировать задачу на будущее:

Запланировать выполнение команды в определенное время:

Запланировать выполнение команды в определенную дату и время:

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

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер и компьютерный ниндзя. Новые статьи в нашей Телеге!

Добавить комментарий

  1. Норм

    Спасибо за статью, но я не вижу разницы между запуском этого скрипта и выполнением самой команды.

    Я имею в виду ввод ./sdelete.sh ~/x.txt ‘now + 1 minute’

    По сравнению с просто набором: echo «rm ~/x.txt» | at now + 1 minute.

    И то, и другое — примерно одно и то же.

    Ответить
    1. Кир

      Представь себе любой скрипт, rm видимо выбран из-за простоты использования.