如何在.bashrc脚本文件中定期运行功能?

时间:2019-05-03 07:19:07

标签: linux bash cron

我想在.bashrc脚本文件中运行特定功能(实际上是在后台删除docker退出的容器)

我已经研究过cron,但是对我来说没有用,请提出其他建议。

我还尝试编写一个带有睡眠的while循环,这不是有效的方法,因为我们每次都启动它并停止它。

2 个答案:

答案 0 :(得分:0)

首选是cron,但您也可以使用 at

这是一个小例子。脚本每分钟启动一次,每次运行loggt都进入logfile.dat

#!/bin/bash
echo "bash $0" | at now +1 minutes -M
date >> /tmp/logfile.dat

使用 atq ,您可以看到女巫工作正在等待下一次运行,而 atrm 您可以停止循环。

==> man at

答案 1 :(得分:0)

我也不一定认为这是个好主意,而是回答您提出的问题...

这是您应该能够适应的简单模板。

chime() { 
  local chimeDelay=10             # seconds, adjust to your needs
  echo "bong!"; date;             # code that Does The Thing
  sleep $chimeDelay && chime &    # snooze and Do The Thing again
} >/tmp/chimelog 2>/tmp/chime.err # logs, not your console

执行此操作后,只要您登录它就应该继续生成,但是应该在HUP上崩溃,我认为这是您想要的。如果您只想使用cron替代项,则可以将其编写为带有HUP陷阱的简化守护程序并运行,但是您可能应该添加锁以防止多个实例运行等。