Linux Install

Android

Linux Tools

Linux AV

Linux Memo

WINDOWS

PROGRAM

動画 Memo

音楽 Memo

モバイルアプリ Memo

FILE FORMAT

PROTOCOL

DEVICE

BookMark

その他


cron   

for cygwin

おきて:cronで実行されるスクリプトは環境変数が設定されていないのでフルパスでかくこと

cron の登録

 cygrunsrv -I cron -p /usr/sbin/cron.exe -a '-D'
 この後、マイコンピュータ(右)-> 管理 -> サービス 
 cron のプロパティ -> ログオン
 アカウントをチェックし、「参照」-> 「詳細設定」-> 「今すぐ検索」
 自分のアカウントを選択
 パスワードを入力
 全般タブに戻り、サービス開始
 (ユーザとパスワードを入れないと //192.168.0.10/c といった
  ネットワークパスが使えないケースがある)
 
 よく失敗する。
 1062 はユーザアカウントエラー
 1067 はファイルアクセスエラー
   (/var/run/cron.pid と /var/log/cron.log を消すこと)
 1069 はユーザパスワードエラー(パスワード未設定)
 
 何回やってもだめなときは cygwin をフル削除する
 c:\cygwin 削除
 レジストリも cygwin と cron で検索してフル削除して
 最初からやり直すとうまくいった
 $ cat /var/log/cron.log でチェックすべし。
 
 $ ps -eaf 
 で cron が動いていればOK
 (または net start |grep cron)でも可
  
 $ crontab -e 
 vi で編集。
 下手に環境変数の EDITORを emacs などにかえるとはまる
 0 * * * * date >> /cygdrive/c/tmp.txt
 これで毎時 0時に日付データを tmp.txt に追記する
 意味はないけど。
0   * * * * date >> /cygdrive/d/tmp.txt
05  * * * * cron/sync.pl >> /cygdrive/d/tmp.txt
35  * * * * cron/sync.pl >> /cygdrive/d/tmp.txt

batファイル起動

cron等の batファイルからの起動では「ネットワークドライブの割り当て」→「ログオン時に再接続する」で登録した ドライブ名は使えない。

たとえば n: を \\192.168.0.1\net に割り当ててるとしたら
perlスクリプト中では chdir('\\\\192.168.0.1\\net\\');
のように書く

sshd

ssh-host-config -y 
cygrunsrv -S sshd
emacs /etc/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no