FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SFTPでバックアップのメモ

以前やったNAS(LS-LV)にバッチでSFTP経由のバックアップを行いたいのです

条件
1. Windows のコマンドラインを使って定期バックアップを取りたい(CUI実行)
2. 1.をタスクマネージャに登録してスケジューリング実行
3. sftp 経由で NAS にバックアップ
4. ディレクトリごとコピーできること
5. 日本語表記で文字化けしない

を満たすソフトを探して WinSCP に辿り着きました。

参考:
http://sourceforge.jp/magazine/10/04/20/1033216
http://winscp.net/eng/docs/lang:jp

日本語化
http://winscp.net/eng/translations.php

しかし、普通にコンソールからホストを入力して接続すると
ファイルコピー後に文字化けが。
なので以下の手順を取りました。


※サーバ側のポート SFTP 22 を解放しておく。

WinSCP.jp ファイルを WinSCP.exe と同じフォルダに置く。
winscp.exe をダブルクリックして一度 GUI を立ち上げる。
日本語に言語設定して一度閉じる。(レイアウト崩れする)
もう一度立ち上げると日本語表記になっている。
セッションで、ホスト情報などを入力。
環境で、ファイル名をUTF-8でエンコードをオンにして閉じる。
セッション名を指定するダイアログが出るので適当な名前(ここではhogesession)を入れて
パスワードを保存にチェックを入れて保存。

これでセッション(winscp.ini)を作っておく。

バッチファイルに
c:\hoge\WinSCP hogesession /command
"synchronize remote c:\hoge\backup /mnt/disk1/hoge/backup" "bye"
のように記述(実際は 1 行)してタスクマネージャに登録。

以上で日本語ファイルのアップロードができました。

※追記
大事なこと忘れてました。
バッチとして使用する場合、オプションとして
batch on
confirm off
のような設定しておいてあげないといけません。
設定できるオプションの詳細は
このあたり

使い方はスクリプトに書いてもいいし、
c:\hoge\WinSCP hogesession /command "batch on" "confirm off"
"synchronize remote c:\hoge\backup /mnt/disk1/hoge/backup" "bye"
のような書き方をしてもいいです。
スポンサーサイト

テーマ : ソフトウェア
ジャンル : コンピュータ

コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。