Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、本番環境の PG データベースに保存する必要があります。したがって、スクリプトを CentOS サーバーに展開し、スクリプトを自動的に開始するスケジュールされたタスクを設定する必要があります。

実装手順は次のとおりです。

1. pip をインストールします (オペレーティング システムには直接使用できる python2.6 が付属していますが、pip はありません)

# pip インストール パッケージをダウンロードします wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
# インストールパッケージを解凍してインストールします tar -xzvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py インストール

2. pipでサードパーティのライブラリをインストールする

PyGreSQL==5.0.3 を pip でインストールします
pip インストール リクエスト == 2.18.3

3. スケジュールされたタスクを設定する

# スケジュールされたタスクサービスを開始します service crond start
# スケジュールされたタスクのサービスステータスを表示する service crond status
# スケジュールされたタスク編集ウィンドウを開く crontab -e 
# 毎日 0:00 と 12:20 に 1 回ずつ実行され、ログに書き込まれる 2 つのスケジュールされたタスクを追加します 0 0 * * * /usr/bin/python /home/longrise/psrd/collect.py > /home/longrise/psrd/collect.log 2>&1 &

20 12 * * * /usr/bin/python /home/longrise/psrd/collect.py > /home/longrise/psrd/collect.log 2>&1 &

スケジュールされたタスクの構文は次のとおりです。
# 詳細については man 4 crontabs を参照してください

# ジョブ定義の例:
# .---------------- 分 (0 - 59)
# | .------------- 時間 (0 - 23)
# | | .---------- 月日 (1 - 31)
# | | | .------- 月 (1 - 12) または jan、feb、mar、apr ...
# | | | | .---- 曜日 (0 - 6) (日曜日 = 0 または 7) または sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * ユーザー名 実行するコマンド

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する上記の方法は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • Jenkins 構成 Python スクリプト タイミング タスク プロセス ダイアグラム
  • Python BlockingScheduler タイミングタスクおよびその他の実装
  • Python のタイムタスクツール APScheduler の使い方
  • Python スケジュールタスク APScheduler の例の詳細な説明
  • Python クローラーのスケジュールされたタスクの一般的な方法 (推奨)

<<:  JS WebSocket 切断理由とハートビートの仕組みの詳しい説明

>>:  MySQLのユーザー権限の確認と管理方法の詳細な説明

推薦する

データ構造 - ツリー (III): 多方向検索ツリー B ツリー、B+ ツリー

多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...

JSコードコンパイラMonacoの使い方

序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみ...

知らないかもしれない奇妙で興味深いDockerコマンド

はじめに使えるかもしれないが、あまり使われていない、シンプルで実用的なDockerコマンドをいくつか...

springcloud alibaba nacos linux 設定の詳細なチュートリアル

まず、github から nacos の圧縮パッケージをダウンロードします: https://git...

Vue+Openlayer をベースに geojson を動的に読み込む方法

1つ以上の機能をロードする <テンプレート> <div id="map&...

主軸上のFlex子要素の比率を制御する方法

背景フレックス レイアウトにより、配置とスペースの割り当てがより効果的に実現されます。最近、flex...

Vue.js でフォントを読み込む正しい方法

目次font-faceでフォントを正しく宣言するフォントをプリロードするフォントをホストするにはli...

MySQLデュアルマスター(マスターマスター)アーキテクチャ構成ソリューション

企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...

Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

Vue補間式とv-textディレクティブの違い

目次1. プラグイン式を使用する2. プラグイン式でv-cloakを使用してちらつきの問題を解決する...

MySQL XA で分散トランザクションを実装する方法

目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

HTML onfocus gain focus および onblur lose focus イベントの詳細な説明

HTML onfocus イベント属性定義と使用法onfocus 属性は、要素がフォーカスを受け取っ...

ubuntu16.04 で nginx を完全にアンインストールするための関連コマンド

nginx の概要nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プ...