Windowsでのcronの展開

標準のWindowsスケジューラは強力ですが、問題が発生したため、Windowsの「ホーム」エディションで簡単に使用できませんでした。 システムに実際のcronをインストールする必要がありました。 少し申し訳ありません!

どうやってこれに来たのか、そしてこれから学んだことはカットの下で。



権利のないユーザー



すべては、タスクをスケジュールしたかったという事実から始まりました。 毎分、環境を準備し、特定のPythonスクリプトを実行する単純なcmdスクリプトを実行する必要がありました。

タスクが実行されるマシンはメインの作業マシンではないため、ユーザーがシステムにログインしなくてもタスクを完了する必要がありました。 このために、モードが選択されました:



タスクを保存するとき、スケジューラは、指定されたユーザーに対して「バッチタスクとしてログイン」を有効にする必要があることを警告しました。 これを行うには、セキュリティポリシーを変更することが提案されています 。 ただし、Windowsの「ホーム」バージョンにはセキュリティポリシーを管理するためのスナップインがないため、これを実行できませんでした( 代替ソリューションの助けに感謝します )。

紛らわしい構成から、それはどういうわけか非常に悲しくなり、cronと同じシンプルで直感的なツールが欲しいと思いました...



クローン化ウィンドウ



Windowsにcronをインストールすることは、かなり実行可能な仕事であることがわかりました。 私はWindowsのcronの特別なバージョンを探していませんでした( 誰かが知っているなら、それを共有します)が、すぐにCygwinに頼りました 。 標準パッケージに加えて、私は以下を選択しました。



cronパッケージを使用すると、すべてが明確になります。 cygrunsrvパッケージを使用すると、さまざまなプログラムをサービスとして実行できます。 Cygwinのインストール後、cronの構成に進むことができます。



Windowsでのcronサービスの構成



次に、最も重要なステップに進みます。 管理者権限で「Cygwin Terminal」を起動し、次のコマンドを入力します。

> cron-config Cron is already installed as a service under account LocalSystem. Do you want to install the cron daemon as a service? (yes/no) yes Enter the value of CYGWIN for the daemon: [ ] ntsec Do you want to start the cron daemon as a service now? (yes/no) yes
      
      



ntsecの詳細については、 こちらをご覧ください



できた タスクを与えることができます。 サービスが実行されなかった場合は、手動で開始してみてください。

 > net start cron
      
      





crontabを開いてタスクを作成します(デフォルトではvi):

 > crontab.exe -e
      
      





エコーを使用してタスクを「埋める」ことができます。

 > echo "*/5 * * * * /cygdrive/c/crons/task.bat" >> C:\cygwin\var\cron\tabs\[Username]
      
      





コンピューターを再起動して、ログインせずにタスクがどれだけすばらしいかを確認してください。



All Articles