複数のユーザーのためのCronjob

複数のユーザーのためのCronjob

私は次のような状況にあります。おそらく簡単ですが、どのような方法が論理的に正確で正確に実行されるのかわかりません。

複数のサイトがあり、/www/各サイトには独自のディレクトリとユーザーがあります。

/www/site1/  // user site1
/www/site2/  // user site2
/www/site3/  // user site3

次に、PHPスクリプトを実行して各サイトのデータベース内のテーブルを更新するcronjobを作成したいと思います。

台本や実際の作業には何の問題もありませんでした。問題はこれを正しく行う方法です。各ユーザーのタスクを作成する方法は? Cronjobは必要に応じて30分ごとに実行されます。

ベストアンサー1

allsites新しいユーザーを追加します。ユーザーを呼び出してみましょう。

forとusersallsitesにユーザーを追加します。/etc/groupsite1site2site3

ユーザーとしてスクリプトを実行しますallsites

次に、以下を使用して単一のスクリプトを実行します。サイトごとに詳細が異なります。スクリプトに含まれます。 (非常に基本的な)例を見てみましょう。script-name.sh各ディレクトリにコピーがあります$LIST

#!/bin/sh

# The base location of each site
LIST="/path/to/site1 /path/to/site2 /path/to/site3"

# Place script-name.sh in each of the above paths
SCRIPT_NAME="script-name.sh"

for i in $LIST
do
    sh "${i}/${SCRIPT_NAME}"
done

別の基本的な例を以下に示します。単一スクリプトでカスタム構成が導入されます。

#!/bin/sh

# The base location of each site
LIST="/path/to/site1 /path/to/site2 /path/to/site3"

# Place details for each site in config.sh in each of the above paths
CONFIG="config.sh"

for i in $LIST
do
    # Pull in the config for the current site
    . "${i}/${CONFIG}"
    # Add your commands here that use the details from $CONFIG
    echo "EXAMPLE: user name: $username"
done

これには、config.sh次のように各サイトの固有の詳細が含まれています。

#!/bin/sh

# User name for DB connection??
username="site1user"

おすすめ記事