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