「at」位置のカスタムID

「at」位置のカスタムID

at私はいつも特定の日時に電子メールを送信するように予約する習慣を持っていました。問題は、私がat実行したいコマンドがジョブIDをパラメータとして使用する必要があるため、コマンドを生成する人が私になる必要があることです。さらに、使用atされるのはIDではなく自動増分数なので、リセットするときに心配する必要があります。

私の主なクエリは、カスタムIDを使用して新しい場所を作成することです。これは、以下を使用してジョブを作成するときに次のようecho "touch file" | at now + 1 minuteになることを意味しますecho "touch file" | at -i <custom-id> now + 1 minute。したがって、 をクリックすると次の情報が表示されatqます<custom-id> Mon Feb 24 19:00:00 2020 a user

それでは、ORを使用してジョブを作成するときにジョブをカスタマイズする方法はありますか?atそれとも、より拡張性の高いオープンソースの選択肢はありますか?

ベストアンサー1

atこのタイプのコードを使用して、送信されたジョブ番号を取得できます。この例では、5分間だけ待機するジョブを送信するので、これを調整する必要があります。送信結果atは次のとおりjob 1175 at Mon Feb 24 18:28:00 2020ですgrep。コマンドはそれに一致してジョブ番号を抽出します。

job=$( echo "sleep 300" | at now 2>&1 | grep -oP 'job\s+\K\d+' )
echo "The job identifier is $job"

ジョブ番号はに送信されるまで識別できませんat

おすすめ記事