Linux 定期自動実行

$ crontab -l

にて現在の自動実行内容を確認できる。

$ crontab -e

にて編集モード

crontabの構文
定期実行の構文は以下の通りです。

# コメント
分 時 日 月 曜日 コマンド
分 分(0-59)、またはワイルドカード「*」を指定する
時 時(0-23)、またはワイルドカード「*」を指定する
日 日(1-31)、またはワイルドカード「*」を指定する
月 月(1-12)、「jan~dec」またはワイルドカード「*」を指定する
曜日 曜日(0-7)、「sun~sat」またはワイルドカード「*」を指定する(0は日曜)
コマンド 実行するコマンドまたはスクリプトを記述する

自社の内容は、
0 6,12,18,22 * * * /usr/local/tools/autoftp6.sh
11 6,10,20 * * * /usr/local/tools/unzip_01kaitsu_all.sh
11 10 * * * /usr/local/tools/unzip_02idou_all.sh
12 6,16,20,22 * * * /usr/local/tools/unzip_03tsuwa_seikyu_all.sh
1 6,12,18,22 * * * /usr/local/tools/unzip_04ritei_error_receive_seikyu_all.sh
1 6,12,18,22 * * * /usr/local/tools/unzip_06himo_error_receive_all.sh
15 10 * * * /usr/local/tools/01_c013111add.sh
15 6 * * * /usr/local/tools/01_K0BIZ311I01add1.sh
15 20 * * * /usr/local/tools/01_K0BIZ311I01add2.sh
15 10 * * * /usr/local/tools/02_c023111add.sh
15 10 * * * /usr/local/tools/02_c033111add.sh
15 10 * * * /usr/local/tools/02_h013111add.sh
15 10 * * * /usr/local/tools/02_K0BIZ311K01add.sh
18 6 * * * /usr/local/tools/02_SS1001311add.sh
0 5 * * * /usr/local/tools/03_c053111add.sh
30 6 8 * * /usr/local/tools/03_c053111add2.sh
30 6 8 * * /usr/local/tools/03_c063111add.sh
30 20 * * * /usr/local/tools/03_c043111add.sh
0 5 3 * * /usr/local/tools/03_c043111add2.sh
30 6 8 * * /usr/local/tools/03_K0BIZ311R01add.sh

toolsの中にスクリプトがあり、それを定期実行している。

SFTP WinSCP Windowsでの自動アップロード

バッチファイルを作成して自動アップロードを設置

D:\TEST に2つのファイルを設置

upload.bat
script.txt

●upload.bat

@echo off
“C:\Program Files (x86)\WinSCP\WinSCP.com” /script=D:\TEST\script.txt

●script.txt DドライブのDATAないのファイルを全てアップロードしている。

open sftp://user:password@host.co.jp/
cd /mnt/array1/LIFE_DATA

put D:\TEST\DATA\*.*
exit

秘密鍵を使う場合には、パラメーター設定をすればいいらしい。(下記参考例)

“C:\Program Files\WinSCP\WinSCP.com” /console /script=c:\…\pscript /privatekey=”C:\joy.ppk”

上記の事をやってもパスフレーズを聞かれた。
そして、結局pageantをやったら、バッチファイルからもアップロード可能になった。joy.ppkの設定は必要なし。
通常は、常駐させておかなければならないようだが、コマンドの場合は必要なくなった???

参考に下記に記載する。

WinSCPによる自動バックアップ
WinSCPによるバックアップを自動化するために、次のことを行います。

・Pageantをログイン時に自動起動

・WinSCPを自動的に起動しファイルの同期

それぞれバッチファイルを作成し、タスクで起動させます。

Pagent自動起動バッチファイルの作成
メモ帳を開き、

"C:\Program Files\WinSCP\PuTTY\pageant.exe" "C:\Users\Username\winscp\id_dsa.ppk"

上記のように、pageantの場所と、秘密鍵の場所を指定します。

Pageantの場所はデフォルトではこの場所になります(32bitWindows)。秘密鍵の場所は、保管されている場所を登録してください。

これを名前を付けて保存、ファイルの種類にすべてのファイルを選んで、pageant.batという名前でバッチファイルとして保存します。

バッチファイルを起動させて、タスクトレイに帽子をかぶったパソコンのアイコンで、Pageantが起動することを確認してください。

この後、コマンドのSFTPの実行をすれば、パスフレーズを聞かれずに処理可能なようだ。

Access パスワード生成

クリックしたときに、パスワードを自動作成して、テキストボックスに入力されるVBA
ただし、IDが空の場合は、入力されないように制限付き

PWというテキストボックスにパスワードが入力される。

Private Sub PW_Click()

Dim txtPWD, txtPWDs, bufPWD
For i = 0 To 7
bufPWD = Int(Rnd(1) * 61)
If bufPWD >= 0 And bufPWD < 10 Then txtPWDs = CStr(bufPWD) ElseIf bufPWD >= 10 And bufPWD < 36 Then txtPWDs = Chr(bufPWD + 55) Else txtPWDs = Chr(bufPWD + 61) End If Select Case txtPWDs Case "o", "O" txtPWDs = "0" Case "j" txtPWDs = "J" Case "l" txtPWDs = "L" End Select txtPWD = txtPWD & txtPWDs Next If IsNull(ID) Then MsgBox "ID無い為、PW付与不可!" Exit Sub Else If IsNull(PW) Then PW = txtPWD Else If MsgBox("実行しますか? yes/no", vbYesNo, "PW変更処理確認") = vbYes Then PW = txtPWD End If End If End If End Sub