私の論文では、約300台のマシンで同じcronjobを実行しています。つまり、次のようになります。
10,25,40,55 * * * * /path/to/db_script.sh 1>/dev/null
スクリプトはシステムからいくつかの値(誰かがログインしたかどうか)を取得し、リモートPostgreSQLデータベースでINSERTステートメントを実行します。私のスクリプトでは、認証に使用される.pgpassファイルの場所をこのスクリプトと同じフォルダに割り当てます。フォルダは、AMDを使用してマウントされたNFSファイルシステムにマウントされています。
現在、ほとんどのcronjobは正常に実行されますが、時にはエラーが発生します。
psql: FATAL: no PostgreSQL user name specified in startup packet
FATAL: no PostgreSQL user name specified in startup packet
同時に.pgpassファイルにアクセスしようとしている多数のコンピュータが原因ですか?それでは、このようなエラーを回避する方法を提案できますか?現在、エラーのあるシステムは2~3個のみです(現在約200個のシステムのうち)。ジョブが実行されるたびにエラーが発生するわけではありません。しかし、まったく避けた方がいいと思います!