ネットワークの可用性に基づいてタスクをスケジュールする方法は?

ネットワークの可用性に基づいてタスクをスケジュールする方法は?

一部のプロジェクトのGitリポジトリを複製しました。私はgit pullこのプロジェクトを週に一度自動化してコンパイルしたいと思います。私が使っているノートパソコンは24x7ではありません。現時点ではcron、システムを実行し続ける必要があるため、使用できません。anacronネットワークに接続する前に起動できるため、それらのどれも使用できません。anacronインターネットに接続している場合にのみこの特定のタスクを実行するオプションはありますか?それともこれには別のツールを使用する必要がありますか?

ベストアンサー1

anacron年中無休の24時間オンラインではないため、これを使用して遅延がない場合は、ネットワークが動作して実行されていることを確認するためにいくつかの魔法を追加してください(デフォルトゲートウェイをpingして)。

以下は、近づくことができるサンプルスクリプトです。

#!/bin/bash
cd repo
JOB="git pull"
ping -c 2 $(netstat -rn | awk '/^0.0.0.0/ {print $2}') 2>&1 > /dev/null && $JOB || echo $JOB | at $(date --date="+1 hour" +%H:%M)

おすすめ記事