サーバーでPythonを動かすと「本当の自動化」ができる

PythonでエクセルやWebを自動化できると仕事はかなり省力化できます。

それだけでも自動化のメリットを感じることができますが、自分がいなくても勝手にまわり続けるシステムをつくるともっと実感できます。

例えば、毎日10時になると特定のサイトをチェックして最新情報があれば、メールやLineで通知してくれたり、チームの誰かが送ったデータを受信したら集計や保存の一連の処理をしてくれるシステムです。

つまり、Pythonプログラムの実行も自動化するのです。

そのためにリモートのサーバーを利用すれば、まさに「もう一人の自分」が仕事をしてくれる感覚になります。

身近になったサーバーでもう一人の自分をつくる

サーバーはずっと起動したままにできるので、プログラムの定期実行データを待ち続けるプログラムにうってつけです。自分のパソコンだと電源や回線が心配になりますが、サーバーはデータセンターで管理されているので安心です。

ただ、サーバーと聞くと「コスト」や「導入の難しさ」が気になると思います。

しかし、現在は「VPS(仮想専用サーバー)」という技術のおかげで、安価に手軽に使えるようになりました。低スペックのプランなら月額数百円から「定額制」で利用できます。電気代や通信量が込みの料金なので、かなりお得だと思います。

また、導入についても、VPSなら簡単にサーバーの追加と削除ができるので、設定に失敗しても気軽にやり直せます。OSは「Linux」になりますが、Pythonプログラムを動かすためだけなら、設定は最低限で済みます

本当の自動化とは

仕事の自動化には段階がありますが、「自分が忘れていても時間通りに仕事をしてくれる」「放っておいてもタスクを処理してくれる」というのが「本当の自動化」だと思います。そのためには、Python用のサーバーがあると非常に実現しやすくなります。

導入方法は、本サイトでもわかりやすく丁寧に説明していますので、この機会にチャレンジしてみていかがでしょうか。

サーバー(VPS)はどこで借りられるのか?

現在「VPS」は企業・個人を問わずかなり利用されています。従来からのWebサーバーの用途だけでなく、近年では個人のゲームや株の自動取引にも人気です。

提供する企業も多く、さくらインターネットGMOインターネットのように従来からレンタルサーバ事業を運営している企業のほかにも、クラウド事業を展開するアマゾン(AWS)のサービスもありますので、申し込みすればすぐに使えます

ただ、それぞれに特長があるので、どのサービスを利用するかは悩ましいところです。

そこで、弊社では「管理のしやすさ」や「使い勝手のよさ」に着目して、2つのサービスを使い分けながら利用しています。その方法を以下の記事にまとめましたので、ぜひ参考にしてください。いいとこ取りができるのでとても重宝しています。

弊社ではPythonプログラムをリモートサーバーで実行するのに「さくらのVPS」と「ConoHa VPS」の両方を以下のように利用しています。 弊社で利用しているVPSサービス …

シンプルなPython用サーバーを構築する

サーバーの用途はWeb、データベース、メールなど多岐にわたるので、1つのサーバーに多くの機能を持たせようとするとその分構築の手間も増えます。

しかし、Pythonを実行する用途だけなら、わずかな作業で構築できます。OSのLinuxにPythonははじめから組み込まれているので、リモートアクセスの設定やpipをインストールする程度でPythonプログラムを動かせるようになります。

とはいえ、サーバーやLinuxがはじめての場合は、慣れていないので難しく感じてしまうと思います。そこで、以下の記事でこれ以上ないくらいに丁寧に説明してみましたので、ぜひこの通りに試してみてください。思いのほか簡単にできるはずです。

今回はVPS(仮想専用サーバー)を利用して最低限Pythonを動かせるサーバーを構築します。 サーバーと言っても一般的なWebサーバーのようにいくつものソフトウェアを連携させるシステムを組むので…

まずは定期実行にチャレンジしてみよう

自動でPythonプログラムを実行するのに、もっともオーソドックスで使い道が多いのが「定期実行」です。そこで、まずは定期実行により自動化してみることをおすすめします。

例えば、定期的に行っている「スクレイピング」や「メール通知」を自動化してみます。上記で構築するサーバーには「cron」という定期実行のツールが標準で備わっているので、Pythonプログラムを実行するスケジュールを設定するだけです。

「cron」の使い方は、以下の記事でわかりやすく説明していますので、ぜひ参考にしてください。サーバーで定期実行ができるようになると、Pythonによる自動化の可能性がさらに広がります

Pythonプログラムを一定の間隔や定時のスケジュールで実行するには、大きく分けて以下の2つの方法があります。 方法1:Pythonプログラムの中に定期実行機能を実装する 方法2:ツー…