クローンなしで特定の時間にスクリプトを実行するにはどうすればよいですか?

クローンなしで特定の時間にスクリプトを実行するにはどうすればよいですか?

cronを使わずに特定の時間にスクリプトを実行したいと思います。しかし、うまくいきません。

#!/bin/sh

DATE=`date | cut -d' ' -f4`

#Date is getting printed, if I run it manually, without any error. But file is not created at scheduled time.

echo $DATE

if [[ $DATE == "07:06:55" ]]
then
echo "this is a test program" >> xyz.log

fi

答え1

あなたはそれを使用することができますat

at -f "$script" 'now + 24 hours' &>/dev/null

例で説明した at コマンド

私もこれを見つけました:

watch -n <the time> <your command or program or executable>

Webで監視コマンド

答え2

一度だけ実行するには、atコマンドを使用します。https://en.wikipedia.org/wiki/At_(コマンド)

例:

echo "echo \"this is a test program\" >> /tmp/xyz.log" | at 1127 apr 11

毎日実行するには、ループを使用することをお勧めします。

#!/bin/bash

while true;
do
    DATE=`date | cut -d' ' -f4`
    echo $DATE
    if [[ $DATE == "11:33:00" ]]
    then
            echo "this is a test program" >> xyz.log
            sleep 1s
    fi
done

関連情報