0
Puppetのプロビジョニングでは、毎回人形を動かす問題があります。 perodic cronジョブ実行を使用するマスターレス構成です。bash test cmdがargsが多すぎると失敗します
exec { 'postgresql::server::database::action1':
command => "sudo -u postgres psql -d ${db_name} -a -f /opt/folderx/v2/createdb.sql",
path => '/usr/pgsql-9.5/bin:/usr/bin:/bin',
user => 'root',
onlyif => "test $(sudo -u postgres psql -d ${db_name} -c 'SELECT version();' ; echo $?) -ne 0",
}
質問のみの正しい構文は何ですか? bashシェルでは私が取得します:
のbash:テスト:あまりにも多くの引数
基本的に私は、テストに必要ないくつかのテーブルや関数が$ dbameには存在しない
bashと正しいpostgresの構文yes。しかし、それはテストcmdで動作しませんでした。とにかくあなたのコード例は私を助け、人形はもはやexec関数を呼び出さないでしょう。私はすぐに逆のテストをしますが、うまくいくようです。 –
他のソリューションは、ファイルの内容が変更されたときにのみスクリプトが実行されます... 'file {" /opt/folderx/v2/createdb.sql ": audit => 'content' } ' –