How to automatically delete в file at в specific украл after closing it?

I am using Ubuntu 12.04 and I am here to know: is there any way to limit the life украдите of в file?

I мочатся, for example, I have created в file that - to be automatically deleted 10 minutes after I close it. Is there any way to do it?

3
задан 2 December 2012 в 21:44

2 ответа

Это может быть легко выполнено с помощью inotifywait от inotify-tools пакет (это не установлено по умолчанию):

inotifywait -e close /path/to/file && sleep 600 && rm /path/to/file

Это настроит часы на /path/to/file и ожидайте его, чтобы быть закрытыми. Затем после 10 минут (600 секунд) файл будет удален.

Вот сценарий для создания вещей легче:

selfdestroy.sh:

#!/bin/bash
if [ $# != 2 ]; then
        echo "$0 <file> <time>"
        exit 1
fi

if [ ! -f $1 ]; then
        echo "File $1 not found."
        exit 1
fi

if (( $2 < 1 )); then
        echo "Time must be > 0."
fi

(inotifywait -e close $1
sleep $2
rm $1) 2>1 >/dev/null &

Назовите сценарий как это: selfdestroy.sh /path/to/file 600.

4
ответ дан 1 December 2019 в 13:20

Необходимо записать сценарий для выполнения этого.

Используя команды

  • доступ (читает содержание файла) - atime
  • изменение состояние (изменяют файл или его атрибуты) - ctime
  • изменяют (измените содержание файла) - mtime

  • cron

  • find

Демонстрационный Сценарий для удаления '.bak' Изменение файла

 #!/bin/bash
  find <location> -mtime <value> -type f -name "*.bak" -exec rm -f {} \;

разрешение сценария (выполняется)

, добавляет сценарий к cron и заставляет его работать при необходимости.

4
ответ дан 1 December 2019 в 13:20

Другие вопросы по тегам:

Похожие вопросы: