質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

意見交換

クローズ

7回答

1072閲覧

cronで定期的にプログラムを実行していますが、移動する際にエラーになってしまう。

fuku-chann

総合スコア82

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/03/11 22:19

0

0

いくつかのプログラムをcronで定期的に実行させています。
自宅で作業している場合は問題ありませんが、移動の際に給電がない状態で蓋を閉めるとスリープ状態を解除することができなくなるため、cronが止まってしまいます。
移動の際もcronの実行を止めたくないのですが、何か対策はありますでしょうか?
移動するPCとcronを実行するPCを分けるしかないでしょうか?
通常どのように運用しているか知りたいです。
ご存知の方おられましたら、ご教示お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答7

#1

CHERRY

総合スコア25171

投稿2023/03/11 23:42

移動の際もcronの実行を止めたくないのですが、何か対策はありますでしょうか?

cronで実行される処理次第です。
時刻が遅れてでも実行されたら良いのか 指定時刻で実行されるのが優先なのかによっても変わると思います。

絶対に PC で実行する必要があるのであれば、移動時にスリープさせないぐらいしか方法はないと思いますが、バッテリ稼働時間やネットワーク接続の問題もあると思います。

移動するPCとcronを実行するPCを分けるしかないでしょうか?
通常どのように運用しているか知りたいです。

定期実行であれば、通常は 24時間稼働のコンピュータ上で実行すると思います。

cron で実行される内容がどのような処理かによりますが、普段使用するコンピュータを移動する(持ち歩く)可能性があるのであれば、クラウド環境を用意してクラウド上で実行させる方法等を検討するのが良いのではないでしょうか。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

fuku-chann

総合スコア82

投稿2023/03/12 00:21

ご回答ありがとうございます。
macbookを移動時にスリープにしない方法があるのでしょうか?
スリープにするとネットワークが切れるので、ここがネックになっています。
なので、クラウド環境を用意しても解決しないと思います。
24時間稼働のPCで実行していますが、移動の時だけ問題になっています。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

otn

総合スコア84463

投稿2023/03/12 04:56

macbookを移動時にスリープにしない方法があるのでしょうか?

出来ないはずは無いですね。ググってみると、いくつか方法があるようです。

Windowsだと電源の設定画面で、簡単に設定できるのですが、Macの場合、同じレベルでは出来なさそうです。
(仕事でオフィスでノートPCを使っていると自席⇔会議室の間を持ち運ぶことが日常茶飯事ですが、いちいちスリープされてはたまらないので、簡単に設定できるようになっているのかと思います。会議室に自PCを持ち込まない社風なら不要ですが)

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

TakaiY

総合スコア12726

投稿2023/03/12 05:14

通常どのように運用しているか知りたいです。

cronの実行だけでなく、24時間連続で動作させなければならないような処理については、固定設置の常時稼動のマシンを用意してそこで実行します。
持ち運ぶ可能性のある、作業用のPCで実行することはありません。

クラウド環境を用意してクラウド上で実行させる
クラウド環境を用意しても解決しない

ここで提案されているクラウド環境というのはクラウド上で仮想でサーバを立てて(仮想が必須ではありませんが)そこでcronの処理を実行すればいいのではないかということでしょう。 常時稼動のマシンを別で用意するのと同じです。

cronで処理されたデータが別れてしまうというところが問題なのであれば、それころ今ならクラウド上のサービスを使ってどのようにでも同期できるかと。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

fuku-chann

総合スコア82

投稿2023/03/12 06:54

ご回答ありがとうございます。
以前appleのアドバイザーからできないと言われたため、できないと思い込んでいましたが、再度調査することでできることがわかりました。ありがとうございました。
下記の記事が見つかり、再度アドバイザーに確認しましたが、OSの場アージョンが古いので適応されるかご自身の判断になると言われ、検証すらしてもらえませんでした。

OS X Server:スリープを防ぐ方法

最近、システム設定→バッテリー→オプションに「Power Napを有効にする」機能が追加されました。この機能はスリープ中にバックグラウンドで更新を定期的に実行でき、給電なしの常にも選択できます。これでcronがスリープ中に実行されるか検証してみます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

fuku-chann

総合スコア82

投稿2023/03/12 07:54

最近、システム設定→バッテリー→オプションに「Power Napを有効にする」機能が追加されました。この機能はスリープ中にバックグラウンドで更新を定期的に実行でき、給電なしの常にも選択できます。これでcronがスリープ中に実行されるか検証してみます。

上記の方法ではcronが動かないことがわかりましたので、下記のコマンドで試してみます。

zsh

1sudo pmset -a disablesleep 1

OS X Server:スリープを防ぐ方法

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

fuku-chann

総合スコア82

投稿2023/03/12 08:53

zsh

1sudo pmset -a disablesleep 1

上記コードで給電なしの場合でも蓋を閉めた際の自動スリープを解除することができました。
pmset -gのコマンドでSleepDisabled が1になっていれば設定完了のようです。

zsh

103/12/23 17:49 /Users pmset -g 2System-wide power settings: 3 SleepDisabled 1

念の為、元に戻すコードを載せておきます。
ご回答いただきました皆様、大変ありがとうございました。

zsh

1sudo pmset -a disablesleep 0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問