5 分钟后使用 shell 脚本删除新创建的文件
Delete a newly created file using shell script after 5 minutes
我正在编写 shell 脚本,我在路径 /path/to/ABC/ABC.txt
.
中创建文件 ABC.txt
现在我在脚本的末尾,我想安排一个 cron 作业在 5 分钟后删除这个文件(只一次,不重复)。
我无法在此脚本中播放 5 分钟的广告 sleep
,因为它被服务器上的多个用户用于多个 paths/files。在用户执行此脚本 5 分钟后,相应路径中的相应 file.txt
应该被删除。
我从 cronjob 中读到的是,您可以使用 crontab -e
触发脚本,然后定期提供作业符号和脚本路径 H/5 * * * * /bin/sh /path/to/ABC/ABC.txt
.
谁能告诉我如何使用 cron 安排此类功能。如果有更好的方法请提出。
使用at
命令:
#!/usr/bin/env bash
script_path="$(realpath -s -- "[=10=]")"
# start script
...
# end script
echo "rm -- \"$script_path\"" | at "now + 5 minutes"
使用休眠后台进程:
#!/usr/bin/env bash
script_path="$(realpath -s -- "[=11=]")"
# start script
...
# end script
( sleep 300 && rm -- "$script_path" ) &
使用父 selfdestruct
进程:
编写一个小脚本 selfdestruct
如下所示:
#!/usr/bin/env bash
dt=""; shift
"$@"
( sleep "$dt" && rm -- "" ) &
和运行你的脚本
$ selfdestruct 300 /path/to/script arg1 arg2 arg3
我正在编写 shell 脚本,我在路径 /path/to/ABC/ABC.txt
.
中创建文件 ABC.txt
现在我在脚本的末尾,我想安排一个 cron 作业在 5 分钟后删除这个文件(只一次,不重复)。
我无法在此脚本中播放 5 分钟的广告 sleep
,因为它被服务器上的多个用户用于多个 paths/files。在用户执行此脚本 5 分钟后,相应路径中的相应 file.txt
应该被删除。
我从 cronjob 中读到的是,您可以使用 crontab -e
触发脚本,然后定期提供作业符号和脚本路径 H/5 * * * * /bin/sh /path/to/ABC/ABC.txt
.
谁能告诉我如何使用 cron 安排此类功能。如果有更好的方法请提出。
使用at
命令:
#!/usr/bin/env bash
script_path="$(realpath -s -- "[=10=]")"
# start script
...
# end script
echo "rm -- \"$script_path\"" | at "now + 5 minutes"
使用休眠后台进程:
#!/usr/bin/env bash
script_path="$(realpath -s -- "[=11=]")"
# start script
...
# end script
( sleep 300 && rm -- "$script_path" ) &
使用父 selfdestruct
进程:
编写一个小脚本 selfdestruct
如下所示:
#!/usr/bin/env bash
dt=""; shift
"$@"
( sleep "$dt" && rm -- "" ) &
和运行你的脚本
$ selfdestruct 300 /path/to/script arg1 arg2 arg3