人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

windows マシンから linux サーバーにあるファイルを、SCPで定期的に自動バックアップしたいです。
windows マシンの電源は常に入っている状態です。
バックアップ対象のファイルは、ファイル名に日付等が含まれていません
(xxxx.20090101.zip ではなく常に xxxx.zip)。
できればバックアップファイルの世代管理をしたいので、windows 側で xxxx.zip を xxxx.20090101.zip の
ように自動的にリネームしたいです。

この要件を満たすバックアップソフト等をご存知でしたら教えてください。
私が考えたのは Cygwin の Cron で WinSCP のコマンドをたたく、といったものですが、
バックアップするマシンはお客様のものですのでできれば Cygwin 等をインストールしたくはないです。



●質問者: snaa1d_1
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:cygwin Linux Windows WinSCP XXXX
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● pahoo
●50ポイント

ダウンロードしたファイルを、WSH でリネームしてはどうでしょう。

下記のスクリプトを拡張子 .vbs でセーブして、コマンドラインからバッチとして実行して下さい。

Dim ff, fs
Dim sour, sour_name, sour_ext

sour_name = "xxxx" '元のファイル名
sour_ext = ".zip" '元の拡張子

'変更後ファイル名
dest = sour_name & "." & Year(Now()) & Month(Now()) & Day(Now()) & sour_ext

set fs = WScript.CreateObject("Scripting.FileSystemObject")
sour = fs.BuildPath("./", sour_name & sour_ext)
set ff = fs.getFile(sour)
ff.name = dest

参考サイト

◎質問者からの返答

あ、考えてみれば私が考えた方法(WinSCPをたたく)に関してもリネームできないという問題がありましたね。。

ありがとうございます!


2 ● typista
●50ポイント

私も、おそらくバッチファイルで実行するのが良いと思います。

WSHやVBSってセキュリティ云々とかけっこううるさいので、純粋にDOSコマンドシェルが妥当だと思います。

ファイルのタイムスタンプを取得しリネーム(ローテート)する方法

http://typista.xii.jp/dos/304.html#extended

@echo off

if "%1"=="" goto :ERR_PARAM

if exist %1 goto :ROTATE

goto :NOT_EXIST

:ROTATE

SET TARGET=%1

SET T=%~t1

set YYYY=%T:~0,4%

set MM=%T:~5,2%

set DD=%T:~8,2%

echo move %TARGET% %TARGET%.%YYYY%%MM%%DD%

rem move %TARGET% %TARGET%.%YYYY%%MM%%DD%

goto :EOF

:ERR_PARAM

echo パラメータを指定してください。

goto :EOF

:NOT_EXIST

echo 指定されたファイルまたはディレクトリは存在しません。

goto :EOF

:EOF

◎質問者からの返答

ありがとうございます。コードそのものまでもらえるのがうれしいです。


3 ● b-wind
●50ポイント

rdiff-backup でいいんじゃね? Win32 へのポートもあるようだし。

気まぐれサーバー - rdiff-backup - ローカル/リモートのミラーと差分バックアップ-rdiff-backup-気まぐれ Wiki

Cygwin の Cron

Windows 自身のタスクスケジューラーでやれば良いだけだと思うが。

◎質問者からの返答

いいですね!

インストールがうまくできてないのですが引き続きチャレンジします。


4 ● darkwood
●50ポイント

回答ではないのですが、Windows側に持ってきてバックアップするよりも、Linux側にHDDを増設するか、予備のLinuxマシンを設けて予備側にバックアップするなどして、Linux側でバックアップした方が、信頼性・バックアップ時間・HDDの使用量の点で有利ではありませんか?


以下は、Linux用バックアップソフトで、初回のみファイルそのものをコピーして、2回目以降は変化が有ればやはりコピー、同じならハードリンクを使用する事によりHDDの使用領域を減らします。当然バックアップ時間も短くなります。その上、日付でディレクトリを作成してくれます。又、次のURLには、一定期間経過したら削除する事で、HDDのパンクを防ぐソフトも有ります。これをcronで毎日夜中に動作させればよいかと。


pdumpfs: Plan9もどきのバックアップシステム

tach.arege.net: pdumpfs-clean: pdumpfs のバックアップを掃除するツール


最初のURLの方のソフトはWindows用も公開されていますが、Windowsでの使用では、ハードリンクが使用出来ないので、HDDの使用領域やバックアップ時間は減りません。

◎質問者からの返答

ありがとうございます。

本来はそうなのですが予算やらの都合もあり・・

ただ、こちらは今後の参考として生かしていきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ