スケジュールされたタスクのバッチスクリプトが管理者として実行されていないようです


1

スケジュールされたタスクとして、ローカルのWindowsサーバーからリモートのLinuxサーバーにファイルをコピーするバッチスクリプトを実行しようとしています(rsyncとCygwinを使用)

管理者管理者として実行)としてバッチスクリプトを手動で実行すると、バッチスクリプトが正常に実行され、ターゲットファイルがリモートサーバーにコピーされます。

昇格した特権なしでバッチスクリプトを手動で実行すると、バッチスクリプトの一部のみが実行されます。バッチスクリプトのrsync部分は失敗します。

それで、スケジュールされたタスクをセットアップしました。ユーザーはDomain Adminsグループのメンバーであり、タスクには[最高の特権で実行]オプションがチェックされています。

ただし、スケジュールされたタスクを使用してタスクを実行すると、管理者権限なしでバッチスクリプトを手動で実行した場合と同じ結果になりますが、その理由はわかりません。

バッチスクリプトのrsync部分の実行を停止する可能性があるユーザーに対して、スケジュールされたタスクは何をしますか?

明確にするために、スクリプトが使用するすべてのリソースは、リモートサーバーを除いてローカルです。リモートサーバーは、rsyncコマンドでIPアドレスとして指定されます:username @ ipaddress:/ remotedirectory /

さらに、rsyncはCygwinの一部として実行されているため、ローカルドライブは/ cygdrive / d / directory /などとして参照されていることを説明する必要があります。ScheduledTasksがこれらのディレクトリを解釈するのが難しい可能性はありますか?


バッチスクリプトは実際にネットワークリソースにアクセスできますか?次のようにだけではなく、権限を持っていますが、スクリプトはネットワークマッピングを使用しますか?
LPChip

リモートサーバー以外のすべてのリソースはローカルです。リモートサーバーはIPアドレスで指定されます。したがって、「username @ ipaddress:/ remotedirectory /」。
デル

リモートサーバーとローカルディレクトリの参照方法に関する詳細を追加しました。問題はリモートサーバーにあるとは思いませんが、Cygwinを使用しているため、おそらくローカルディレクトリの参照方法に問題があると思います。
デル

または、おそらく、rsyncはCygwinシステムにアクセスできないため、Scheduled Tasksでまったく読み込まれませんか?
デル

cygwinのサブシステムに「ログ」することなく、スタンドアロンユーティリティとして動作するはずです。フルパスを使用していますか?cmdファイルを作成し、そこにすべてを入れて、スケジューラーを介してこのcmdファイルを実行します
Alex

回答:


1

よく検討した結果、タスクスケジューラがrsyncコマンドの実行に問題を抱えていることに気付きました。Cygwinへのアクセスと関係があるのではないかと思いました。

Cygwinアプリケーションを%PATH%変数に追加し、rsyncをオンデマンドで実行できましたが、タスクスケジューラにbashでスクリプトを実行するよう指示する必要がありました。

タスクアクションを変更して "bash -l -c" / cygdrive / driveletter / directory / file "を実行すると、タスクスケジューラでタスクを正常に実行できます。

クレジットは本当にここに行く必要があります:http : //www.davidjnice.com/cygwin_scheduled_tasks.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.