優れたソフトウェアと実用的なチュートリアル
Apple CMSでスケジュールされたタスクの自動更新を設定するためにCrontabコマンドを使用する方法
Apple CMS スケジュールタスク Apple CMSのスケジュールタスクを更新する方法はいくつかあります。Apple CMSがWindowsに組み込まれている場合は、Windowsに付属のスケジュールタスク更新を使用できます。Linuxオペレーティングシステムの場合は、サードパーティプラットフォームでスケジュール更新タスクを設定したり、Alibaba CloudやTencent CloudなどのサードパーティWebサイトでカスタム更新タスクを設定したりできます。以下では、Linuxシステムでcrontabコマンドを使用して、Webサイトを自動更新するスケジュールタスクを設定する別の方法を紹介します。ウェブサイトを自動的に更新する。
crontabとは何かを理解する
crontabコマンドを使用すると、指定したシステムコマンドまたはシェルスクリプトを一定の間隔で実行できます。実行間隔は、分、時間、日、月、週、またはこれらの任意の組み合わせで指定できます。このコマンドは、定期的なログ分析やデータのバックアップに最適です。
形式
crontab [-u ユーザー] ファイル crontab [-u ユーザー] [ -e | -l | -r ]
コマンドパラメータ
-u ユーザー: ユーザーの crontab サービスを設定するために使用されます。
file: file はコマンドファイル名です。つまり、このファイルはcrontabのタスクリストファイルとして使用され、crontabに読み込まれます。このファイルがコマンドラインで指定されていない場合、crontabコマンドは標準入力(キーボード)から入力されたコマンドを受け取り、crontabに読み込みます。
-e: 特定のユーザーのcrontabファイルの内容を編集します。ユーザーを指定しない場合は、現在のユーザーのcrontabファイルを編集することを意味します。
-l: ユーザーのcrontabファイルの内容を表示します。ユーザーを指定しない場合は、現在のユーザーのcrontabファイルの内容を表示します。
-r: /var/spool/cronディレクトリからユーザーのcrontabファイルを削除します。ユーザーが指定されていない場合は、デフォルトで現在のユーザーのcrontabファイルが削除されます。
-i: ユーザーの crontab ファイルを削除するときに確認を求めます。
crontabファイル形式
時間、日、月、週ごとに実行されるコマンド
- 列1: 0~59分
- 2列目は0から23までの時間です(0は真夜中を意味します)
- 3日目 1-31
- コラム4 月 1~12
- 列 5: 曜日 0 ~ 7 (0 と 7 は日曜日を表します)
- 列6 実行するコマンド
# .---------------- 分、値の範囲は 0 ~ 59 です # | .------------- 時、値の範囲は 0 ~ 23 です # | | .--------- 日、値の範囲は 1 ~ 31 です # | | | .------- 月、値の範囲は 1 ~ 12 です # | | | | .---- 曜日、値の範囲は 0 ~ 7、0 と 7 はどちらも日曜日を意味します# | | | | | .-- 実行されるコマンド# | | | | | | 0 19 * * * bash /root/test.sh
Apple CMS スケジュールタスク
次に、Apple CMSのスケジュールされたタスクを設定します。まず、Apple CMSのバックグラウンドでシステムオプションでスケジュールされたタスクの設定。
自動更新が必要なタスクに続く操作オプションでは、テストマウスを右クリックし、クリックしますリンクアドレスをコピー得るテストURL アドレス。
例えば:
https://xxx.com/api.php/timming/index.html?enforce=1&name=lz https://xxx.com/api.php/timming/index.html?enforce=1&name=sd https://xxx.com/api.php/timming/index.html?enforce=1&name=xl https://xxx.com/api.php/timming/index.html?enforce=1&name=kc https://xxx.com/api.php/timming/index.html?enforce=1&name=gs
これらの URL はブラウザで開かれ、Web サイトを正常に更新できる有効なリンクである必要があります。
次に、Linux システムでスケジュールされたタスクを設定します。
crontabをインストールする
通常、CentOS はデフォルトで crontab をインストールします。インストールされているかどうかを確認するには、次のコマンドを実行します。
rpm -qa | grep crontab
クエリ結果が次のような場合は、インストールされていることを意味します。
結果が空の場合は、インストールされていないことを意味します。インストールするには、以下のコマンドを実行してください。
dnf install -y crontabs
Crontab 共通コマンド
crontab の実行ステータスを確認します。
systemctl ステータス crond
上図のように、表示される結果が Active: active (running) の場合は実行中、 Active: inactive (dead) の場合は実行されていないことを意味します。
crontab が実行されていない場合は、次のコマンドを使用して起動時に自動的に起動するように設定できます。
起動時に自動的に開始するように crontab を設定します。
systemctl enable crond
crontabを起動します:
systemctl start crond
現在のユーザーのスケジュールされたタスクを表示します。
crontab -l
スケジュールされたタスクを設定する
まず、ルート ディレクトリに vod.sh スクリプトを作成します。
vi /root/vod.sh
i を押して編集状態に入り、次のコンテンツを貼り付けます。
#! /bin/bash a=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=lz') b=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=sd') c=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=xl') d=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=kc') e=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=gs') echo $a スリープ 10 エコー $b スリープ 10 エコー $c スリープ 10 エコー$d スリープ 10 エコー $e
Esc キーを押して :wq と入力し、ファイルを保存します。
次のような書き方でも効果は同じです。
#!/bin/bash func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=gs' touch gs echo "gs が開きました" } func & sleep 5 if [ -f gs ] then echo "gs が成功しました" else echo "gs が失敗しました" fi rm -f gs sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=kc' touch kc echo "kc が開きました" } func & sleep 5 if [ -f kc ] then echo "kc が成功しました" else echo "kc が失敗しました" fi rm -f kc sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=sd' touch sd echo "sd が開きました" } func & sleep 5 if [ -f sd ] then echo "sd 成功" else echo "sd 失敗" fi rm -f sd sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=xl' touch xl echo "xl オープンしました" } func & sleep 5 if [ -f xl ] then echo "xl 成功" else echo "xl 失敗" fi rm -f xl sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=lz' touch lz echo "lz オープンしました" } func & sleep 10 if [ -f lz ] then echo "lz 成功" else echo "lz 失敗" fi rm -f lz
sleep コマンド構文 Bash の sleep コマンドの構文は次のとおりです。
睡眠数[接尾辞]
時刻値には正の整数または小数を使用できます。接尾辞は任意です。接尾辞として以下のいずれかを使用できます。
- s - 秒を表す
- m - 分を表す
- h - 時間を表す
- d - 日
注: サフィックスがない場合、数値は秒単位になります (デフォルト)。
2つ以上のパラメータが指定された場合、合計時間はそれらの値の合計とみなされます。以下は、sleepコマンドの使用方法を示す簡単な例です。
- 9秒間スリープするには、次を使用します。
9時間睡眠または9s睡眠 - 0.5 秒間スリープするには、次を使用します。
スリープ 0.5 または スリープ 0.5s - 2 分 30 秒間スリープするには、次のようにします。
睡眠2分30秒 - 8時間睡眠、使用:
8時間睡眠 - 睡眠時間2日9時間5分55秒、使用:
睡眠 2日 9時間 5分 55秒
現在のユーザーのスケジュールされたタスクを編集するには、次のコマンドを実行します。
crontab -e
crontab -e コマンドを実行すると、ドキュメントが開きます。i キーを押して編集状態に入ります。以下の内容をドキュメントに貼り付け、保存して終了してください。
0 19 * * * bash /root/vod.sh
上記のコードは、/root/vod.sh スクリプトが毎日 19:00 に実行されることを意味します。
スクリプトを1時間ごとに実行したい場合は、1つずつ追加することができます。
注意: スケジュールされたタスクの構成ファイルでは、24:00 に 24 を入力することはできません。0 を入力する必要があります。そうしないと、エラーが報告されます。
例えば:
0 1 * * * bash /root/vod.sh 0 2 * * * bash /root/vod.sh 0 3 * * * bash /root/vod.sh 0 4 * * * bash /root/vod.sh 0 5 * * * bash /root/vod.sh 0 6 * * * bash /root/vod.sh 0 7 * * * bash /root/vod.sh 0 8 * * * bash /root/vod.sh 0 9 * * * bash /root/vod.sh 0 10 * * * bash /root/vod.sh 0 11 * * * bash /root/vod.sh 0 12 * * * bash /root/vod.sh 0 13 * * * bash /root/vod.sh 0 14 * * * bash /root/vod.sh 0 15 * * * bash /root/vod.sh 0 16 * * * bash /root/vod.sh 0 17 * * * bash /root/vod.sh 0 18 * * * bash /root/vod.sh 0 19 * * * bash /root/vod.sh 0 20 * * * bash /root/vod.sh 0 21 * * * bash /root/vod.sh 0 22 * * * bash /root/vod.sh 0 23 * * * bash /root/vod.sh 0 0 * * * bash /root/vod.sh
crontab が実行されない問題
- スクリプトパスの前にbashまたは/etc/profile;/bin/shが追加されているかどうかを確認します。
- crontabサービスが正常かどうかを確認する
- スクリプトパスが絶対パスであるかどうかを確認する
curlリクエストURLに&が含まれており、リクエストが失敗する
curlリクエストにおいて、URLに複数のパラメータが含まれる場合、URLをシングルクォーテーションで囲む必要があります。そうしないと、リクエストが切り捨てられてしまいます。URLの内容をシングルクォーテーションで囲むだけで十分です。
Ubuntuでコマンドラインを使用してWebページを開く3つの方法
最初の方法はコマンドをリンクします
apt install links リンク 'https://uzbox.com'
2番目の方法はw3mコマンドです
apt install w3m w3m 'https://uzbox.com'
3番目の方法はlynxコマンドです
apt install lynx lynx 'https://uzbox.com'