簡體   English   中英

通過crontab調度UpStart init腳本

[英]Scheduling an UpStart init script via crontab

我在/etc/init/ Ubuntu中創建了以下ProcessRunner.conf

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# Run before process
pre-start script
    [ -d /var/run/ProcessRunner ] || mkdir -p /var/run/ProcessRunner
    java -Dlog4j.configuration=log4j_process1.xml -classpath /home/devuser/apps/ProcessExecutor:/home/devuser/apps/ProcessExecutor/ProcessExecutor-1.0.jar com.process.ApplicationStartup &
    echo $! > /var/run/ProcessRunner/ProcessRunner.pid;
end script

post-stop script
     processid=$(cat /var/run/ProcessRunner/ProcessRunner.pid);
     if ps -p $processid > /dev/null
        then
        sudo kill -9 $processid;
     fi;
end script

我使用以下命令從命令行啟動/停止此命令:

sudo start ProcessRunner
sudo stop ProcessRunner

它工作正常。 現在我需要安排這些。 我這樣做:

我使用以下命令從命令行啟動/停止此命令:

$sudo crontab -e

0 0 * * * * start ProcessRunner
0 2 * * * * stop ProcessRunner

但這不起作用。 請幫忙。 另外,我不希望這個過程在系統啟動時開始。 我該如何配置?

Crontab環境不提供路徑,因此命令(啟動ProcessRunner)必須包含完整路徑。

命令“start”和“stop”的完整路徑,而不是你的upstart配置文件!

所以,基本上,你的crontab應該是這樣的:

0 0 * * * * /sbin/start ProcessRunner
0 2 * * * * /sbin/stop ProcessRunner

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM