Linux:调度命令在重启后运行一次(RunOnce等效)

前端之家收集整理的这篇文章主要介绍了Linux:调度命令在重启后运行一次(RunOnce等效)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想安排一个命令在 Linux机箱重启后运行.我知道如何执行此操作,以便使用@reboot crontab条目执行命令 consistently runs after every reboot,但是我只希望命令运行一次.运行后,应将其从要运行的命令队列中删除.我本质上是在Windows世界中寻找与 RunOnce相当的Linux.

如果重要:

$uname -a
Linux devBox 2.6.27.19-5-default #1 SMP 2009-02-28 04:40:21 +0100 x86_64 x86_64 x86_64 GNU/Linux
$bash --version
GNU bash,version 3.2.48(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2007 Free Software Foundation,Inc.
$cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 0

有一种简单的,可编写脚本的方法吗?

解决方法

在crontab中创建一个@reboot条目以运行名为/usr/local / bin / runonce的脚本.

使用mkdir -p创建名为/etc/local/runonce.d/ran的目录结构.

创建脚本/usr/local / bin / runonce,如下所示:

#!/bin/sh
for file in /etc/local/runonce.d/*
do
    if [ ! -f "$file" ]
    then
        continue
    fi
    "$file"
    mv "$file" "/etc/local/runonce.d/ran/$file.$(date +%Y%m%dT%H%M%S)"
    logger -t runonce -p local3.info "$file"
done

现在将您希望在下次重启时运行的任何脚本(仅限一次)放在目录/etc/local/runonce.d中,然后chown和chmod x适当地运行.一旦运行,您将发现它已移至ran子目录,并将日期和时间附加到其名称.系统日志中还会有一个条目.

猜你在找的Linux相关文章