5

毎朝午前6時に実行したいスクリプトがいくつかあります。これらのスクリプトは、グラフィカル出力のいくつかのpdfをファイルに生成します。foo.pdf

システムがスクリプトの実行を終了したら、システム(たとえばWin 7、> = )にこれらのPDFを電子メールで送信してもらいたいのですが。R 2.13

これらのレポートをRからの添付ファイルを介して直接私に電子メールで送信するのに最適なパッケージ、およびそれを設定するための最も堅牢な方法はどれですか?

これに対する「クールな」拡張機能はありますか(sink()電子メールの本文にレポートテキストを出力するなど)?

アドバイスをよろしくお願いします。

4

2 に答える 2

3

cronジョブと組み合わせて電子メールを処理できるパッケージのパワーを利用できます。Windows 7では、 Windowsタスクスケジューラを使用して、これに似た何かを実現しました。基本的には、特定の時間に特定のスクリプトを実行するように設定します。

于 2012-04-23T05:42:29.843 に答える
2

スクリプトを毎日実行していますが、実行するのに多くの問題がありました。まず、添付ファイルとRコードに関するRomanのリンクを見てください。これは、Windows7の非R部分についてです。

Windowsタスクスケジューラから直接Rスクリプトを実行する際に問題が発生したため、次のようにバッチファイルを毎日実行するようにスケジュールしました。

@echo on
"C:\Rpath\R-2.15.1\bin\i386\Rcmd.exe" BATCH "C:\filepath\filetorun.R"

これが最も簡単な方法ですが、QuickRが出発点でした。

コンピューターの設定によっては、タスクスケジューラをいじる必要がある場合があります。常にオンになっているサーバータイプの場合は、問題が多すぎないようにする必要があります(そして、何をしているのかがわかります)。ログインして共有ドライブにアクセスするためにログオフしてパスワードを使用する必要がある場合は、次のいくつかを実行する必要があります。また、管理者権限が必要かどうかもわかりません。

タスクスケジューラを開き、新しいタスクを作成して、そのプロパティウィンドウを開きます。

[全般]で、ユーザーアカウントを確認し、[ユーザーがログオンしているかどうかに関係なく実行する]を選択し、[パスワードを保存しない]のチェックを外します。これにより、ログオフしている場合にスクリプトを実行できるようになります(ロックされている場合は機能しないと思います)。[OK]をクリックすると、パスワードの入力を求められます。

基本設定:トリガーは「スケジュールどおり」で、詳細設定が有効になっています。[アクション]で、[プログラム/スクリプト]を.batファイルとして使用して[プログラムの開始]を選択します。

[条件]で、[compがアイドル状態の場合にのみタスクを開始する]チェックボックスをオフにし、[コンピューターをスリープ解除してこのタスクを実行する]チェックボックスをオンにします。[設定]で、[タスクをオンデマンドで実行することを許可する]、[実行中のタスクが終了しない場合]をオンにし、下部にある[既存のインスタンスを停止する]を選択します。これらのオプションについてはよくわかりませんが、これらのオプションが必要になる場合があります。

もう1つのトリックは、会社でパスワードを時々切り替えるようにしている場合です。変更後にタスクを開いて閉じ、パスワードを再度要求するようにします。新しいものを入力しないと、ログインできず、スクリプトを実行できません。

于 2012-11-29T16:13:28.610 に答える