【Python勉強会】さくらサーバで.pyファイルを実行する~レンタルサーバを活用しよう~

どうも!リョクちゃです。

前回cronの設定をしてから、設定した後に動作確認をしていなかったので

動作確認をしpythonで作成したファイルが果たして動くのか検証していきます。

ちなみに前回はこちら

前回(https://dreamparadaisu.com/python_38/)に続き、.pyファイルをcronで設定し動作させる方法を例を交えて簡単に紹介しています。レンタルサーバ上で定時実行する際にどうやって設定すればいいかの参考になれば嬉しいです。

先に結論から述べておきますと、

結論:さくらサーバで.pyファイルを動かすことに成功!!

といった結果になりました、どうしてこうなったのか、述べていきます。

cronで設定した.pyファイルを実行

実行されているかどうかを確認するには、手っ取り早くは”Poderosa”を使って
確認をしていきます。

Poderosaについては、こちらの記事を参考にしてみてください。
さくらサーバでPythonを実行するにはどうしたらいいか、取り組んでみたのでまとめています。Pythonで定期実行したいけど、自分のパソコンだと電気代もかかって大変だし、そもそもサーバがないからレンタルサーバを契約して、そこで実行させたいけど、やり方がわからないといった点について参考になれば嬉しいです。
スポンサーリンク




Poderosaを起動

まず起動し、サーバへ接続をします。

テストの準備

今回、前回作成したhello.world.pyを使用します。
おさらいに中身は、以下になります。

これをさくらサーバ上の任意に作成したディレクトリに保存します。

ディレクトリのパスは

/home/<サーバ名>/www/<作成したディレクトリ名>

今回は、”test”というディレクトリを作成し、保存しました。

作成したディレクトリへ移動しておきます。

cd <作成したディレクトリ>

例)

ファイルのアップロード

作成したhello.world.pyを自身のPCからサーバへアップロードする場合は、

作業ディレクトリを作成した状態で、さくらサーバのコントロールパネルへ

ログインをします。

必要事項を入力し、”ログイン”ボタンを押します。

ログインできると下図が表示されます。

ショートカットの中から”ファイルマネージャ”を選択し、開きます。

先ほど作成した”test”フォルダがあるのが確認できます。

“test”フォルダをクリックすると、右の領域に”test”フォルダの中身を確認ができます。

ファイルマネージャ上でカレントのディレクトリになります。

ファイルをアップロードするには、ファイルマネージャ内タブの”アップロード”を

クリックすることで出来ます。

クリックすると、

アップロード画面が開くので、

アップロードする場合は、左下の”ファイルを追加”ボタンをクリックします。

クリックすると、ファイルダイアログが新たに立ち上がるので、

アップロードしたいファイルを選び、”開く”ボタンを押します。

下図にアップロードするファイルが表示されます。

表示がされたら、”アップロード開始”ボタンを押します。

既に同名ファイルがアップロードされていた場合について聞いてきますので、

問題なければ、”はい”を押します。

状態が”完了“になればファイルが正常にアップロードされました。

ファイルマネージャに戻り、作成したディレクトリ内に”hello.world.py”があるのが

確認できます。

これでテストができる準備になりました。



いざ、テスト

Poderosaでは、作業ディレクトリへ移動がされている状態だと思います。

この状態で、hello.world.pyを実行するコマンドを打ちます。

コマンドには、python3を使います。

Poderosa上でコマンドを打ち、Enterキーを押して実行されるかどうか確認します。

……あれ

-bash: python3: command not found

と出てきてしまいました。

どうやら、python3というコマンドはないとのことです。

python3は絶対パスで呼んであげないといけないので、

以下のコマンドに書き直して実行をしてみます。

※pythonのインストール先になるので各人によって環境が異なるので確認しておきましょう。

出力結果として、

Hello World

と表示がされれば、正常に動かすことができています。

お疲れ様です。

これで.pyファイルが動かせることが確認できました。

これをcronに設定することで、指定した時刻に

Hello Worldと出力するプログラムの実行ができます。

まとめ

.pyファイルをさくらサーバで実行する方法と実行確認について紹介していきました。
結果.pyファイルを動かすことができましたが、一部動作しないプログラムも存在するようで
その時は、.pyの拡張子を.cgiにすることで動作する場合もあります。

.cgiは、
CGIとは、Webサーバが、Webブラウザなどからの要求に応じてプログラムを実行する仕組みの一つ。

動作形態によって拡張子を変更して、トライしてみてください。

またcronの設定では、パスの設定も大事ですので気を付けてください。
絶対パス指定しないでpython3を打つと、command not foundになってしまいます。

いちいちパスを指定するのがめんどい!という方は環境変数にPython3のパスを
追加してしまうのも手です。

最後までお読みいただき、ありがとうございます。
スポンサーリンク