スクリプトに他のユーザーのスクリーンセッションでコマンドを実行させますか?

スクリプトに他のユーザーのスクリーンセッションでコマンドを実行させますか?

他のユーザー(user1)の画面セッションで、通常のユーザー(user1)が実行したスクリプトによって開始されたコマンドをスクリプトに実行させることはできますか?たとえば、ルートが実行するスクリプトは、user1が所有する画面セッションにコマンドを渡します。

ヘッダー

サーバー上の重要なファイルをバックアップするためにrdiff-backupを使用するゲームサーバースクリプトがあります。 rootでスクリプトを実行し、/root/サーバーにいくつかのソフトウェアまたはユーザーエラーがある場合は、バックアップに対するソフトウェア保護を提供するためにバックアップをディレクトリに保存したいと思います。

問題は、rdiff-backupを開始する前に、スクリプトがゲームサーバーコンソールにいくつかのコマンドを送信する必要があることです。

実際の問題

次のような複数行のルートで実行されるスクリプトが必要です。

as_user "screen -p 0 -S ${SCREENNAME} -X eval 'stuff \"say ${SAY_BACKUP_START}\"\015'"

user1が所有するscreenセッションにコマンドを送信し、user1のcronjob所有者が実行するスクリプトから開始します。

これは可能ですか、またはuser1でバックアップを実行し、user1のホームディレクトリにファイルをアーカイブしてから、rootとして別のrdiff-backupを実行してバックアップファイルをソフト保護ディレクトリにバックアップする方が簡単ですか?

ベストアンサー1

おすすめ記事