みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
ファイルメーカーサーバー13のスケジュール機能を使用してアップルスクリプトを実行しています。
スクリプトの内容はAフォルダのcsvファイルをBフォルダへコピーする。といったものです。
「
set acount to "account"
set pass to "pass"
set FromCopyFile to quoted form of POSIX path of "/Users/Desktop/A"
set ToCopyFolder to quoted form of POSIX path of "/Users/Desktop/B"
do shell script "cp -f " & FromCopyFile & "/*.csv " & ToCopyFolder user name account password pass with administrator privileges
quit
」
としています。
このスクリプトを毎日繰り返しで行うのですが、実行されると"状態"の部分がずーっと”実行中”となり、終りません。
目的の作業は無事終了しています。
そのためスクリプトの制限時間を設定し、"時間が来たら終了"にチェックを入れてスケジュールを繰り返すようにしています。
(その場合時間が来たら状態が"予期せず中断"として終了します)
ログビューアー:スケジュール「000」が中断されました; 予期しないエラー (10022)
ただ、この作業は毎日5分間隔で繰り返しているので、毎回エラー報告が上がるのが煩わしいです。(一般設定の通知設定のメール通知を設定し、"エラーのみ"をチェックしているので毎回メールが届きます)
そこで教えて頂きたいことですが、
1・このシステムスクリプトにて目的の作業が終了したらスケジュールの状態を”OK”にしたい。
2・もしくは作業自体上手くいっているので、スクリプトエラーについてのメールは送らないように設定したい
のどちらかが行えればと思っています。
Mac OSX 10.9.3
FileMakerServer13
すいませんがご教授お願い致します。
Offline
この処理を、FMSのサーバー再度スクリプトで行わせている必然性がありますか。OSのスケジュール(cronなど)で行わせるとか、AppleScriptのloopで行わせるとか。
Offline
Shinさん 返答ありがとうございます。
このスクリプトの後にファイルメーカースクリプトを行うため、できればFMSのスクリプトで実行したいです。
またこの先にもシステムスクリプトを使用する必要がある時のためにも、できればこのエラーの原因や対処法をわかっておきたいと思います。
すいませんがよろしくお願い致します。
Offline
http://qiita.com/mattintosh4/items/3220a75ae6229553b87b
「AppleScript の do shell script を使うと外部プログラムが終了するまで次の処理は実行されません。返り値を拾うので当然ですが、そのままではアプリケーションが "応答なし" になってしまいます。」
上のサイトの記述を読むと、"cp -f" コマンドが終了していないのでは? と思ってしまいます。
(一応注意書き。コピーが終了することと、コマンドが終了することは、同じではありません)
fオプションを軽く検索してみましたが、何かはわかりませんでした。
そのスクリプトを単独で動かしたとき――ひとつの新しいプロセスとして実行させたとき――、プロセスは正常終了しますでしょうか?
abkbさん 返答ありがとうございます。
教えて頂いたサイトの内容より、今回の現象の理由がわかることができました。 ありがとうございます。
プログラム上ではまだ解決に至りませんが、原因がわかったので次に進めれます。
スクリプトを単独で動かす場合、エディタならば正常終了、FMSでは同じ異常となりました。
Offline
スクリプトの実行ユーザーが、fmserver ユーザなので、Applescript Editor使ってる時と条件が違いますよね?
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 518.41 KiB (Peak: 523.32 KiB) ]