私は、rootのみがアクセスできるロックファイルが存在するかどうかをチェックし、次に実行する必要がある実際のテストスクリプトを実行するスクリプトがあります。別のユーザー。スクリプトコマンドがsu -cコマンドとして実行されたときのファイル出力がありません-m user
問題は、テストスクリプトがxmlファイルを生成し、それらのファイルが存在しないことです。 (別名、私はそれらを見つけることができません)
if (mkdir ${lockdir}) 2> /dev/null; then
echo $$ > $pidfile
trap 'rm -rf "$lockdir"; exit $?' INT TERM EXIT
if [ -f "$puppetlock" ]
then
su -c "/opt/qa-scripts/start-qa-test.sh > /var/log/qaTests/test-$(date +\"m-%d-%T\".log" -m "qaUser"
lockdir
スクリプトの
関連部分は、テストは、テストプロセスが始まったことを意味するために実行されたときに作成されるものです。
puppetlock
人形が実行されているかを、人形が作成するロックファイルを探して調べます。
qaUser
は、puppetlock
が存在するかどうかを確認する権利がありません。
start-qa-test.sh
自動テストを実行するためにjavaを呼び出すようになります。私のtest-date.log
ファイルには、テストが実行されたときに表示されるコンソールが表示されます。
しかし、このテストでは、target
というディレクトリにいくつかのxmlファイルが生成されるはずです。これらのファイルはありません。
ケースでは、start-qa-test.sh
がstart-qa-test.sh
がターゲットフォルダ内のXML出力を生成し実行する。この
nohup=true
/usr/bin/java -cp .:/folderStuff/$jarFile:/opt/folderResources org.junit.runnt.JUNITCore org.some.other.stuff.Here
ような何かを実行しようとしている関連です。しかし、それを実行してsu -c
しないでください。
編集
私はこの問題への答えを考え出しました。
私は、出力が/自宅で表示することが許可されている/ qaUser