特定のユーザーでcronジョブを実行する方法は?

特定のユーザーでcronジョブを実行する方法は?

私のクローンとスクリプト技術は非常に悪いですが、「cpc」ユーザーは5分ごとにタスクを実行する必要があります。そのため、スクリプトを作成して/rootに保存しました。

私のcrontab -eエントリは次のとおりです。

0-59/5 * * * * /root/bi-kettle.sh

このスクリプト(bi-kettle.sh)は次のとおりです。

#!/bin/bash
su cpc
cd /home/cpc/data-integration 
/bin/bash kitchen.sh -rep="01" -job="MainLoad" -user="admin" -pass="admin" -level="Basic"`

しかし、いつでも呼び出されたり実行されたりしません。私がここで何を見逃しているのでしょうか?

よろしくお願いします!

ベストアンサー1

これがsu失敗する理由です。つまり、対話型シェルを起動します。 cpcユーザーのcrontabに追加したらどうでしょうか?crontab -e -u cpc

おすすめ記事