cygwinのcrondはSYSTEMユーザで起動する
cygwinのcrondはSYSTEMユーザで起動している。
$ ps -ef|egrep cron SYSTEM 684 636 ? 13:17:07 /usr/sbin/cron
SYSTEMユーザ以外で(とくに会社PCとかだとドメインコントローラ関連のユーザで)割り当てたデバイスにアクセスできないらしく、crond経由のスクリプトがうまく動かなくてはまりまくりんぐ。
やっていたのはwindowsファイルサーバのとあるフォルダを自PCのネットワークドライブに割り当てて、perlスクリプトで生成したexcelファイルをアップロードしようとしたけどファイルサーバにはアクセスできないは、そもそもOLEもなんだか使えないわではまった(端末から手動実行だとうまくいく・・)。
とりあえずwinデバイスにアクセスするスクリプトとかはcron起動をあきらめてタスクスケジューラから起動するほうがよいとオモッタッス。裏っ側でうごかせるらしいのでWSHShell.Runを経由して起動している。
あんま意味はないかも。
Dim WSHShell Set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.Run "C:\cygwin\home\uminoumi\bin\BTStools\kagemai2xls.sh",vbHide