特定のユーザーがシステムを起動したときに独自のbashスクリプトを実行してください。

特定のユーザーがシステムを起動したときに独自のbashスクリプトを実行してください。

システムの起動時にsidekiqを実行する一部のスクリプトに大きな問題があります。スクリプトは次のとおりです。

#!/bin/bash
cd /home/passenger/application
source /usr/local/rvm/environments/ruby-2.5.1@gemset
bundle exec sidekiq -d -L log/sidekiq.log -e testing -P tmp/sidekiq.pid

内側についています。/etc/rc.local動作しますが、root権限で実行されます。スクリプトパス:

/home/passenger/run_sidekiq

ユーザーの乗客権限で実行する必要があります。私は試した:

sudo -u passenger bash -c "bundle exec sidekiq -d -L log/sidekiq.log -e testing -P tmp/sidekiq.pid"

上記の組み合わせを多く使用しますが、何も機能しません。

ベストアンサー1

非常にエレガントではありませんが、ユーザーのcrontabに追加できます。

したがって、ユーザーとしてpassenger実行しcrontab -e てから追加します。

@reboot /PATH/TO/SCRIPT

一番下に

おすすめ記事