簡単なバックアップスクリプト

Pocket
LINEで送る

この記事の所要時間: 246

なでしこを使った非常に原始的なバックアップスクリプトを作成。

使い方

  • バックアップ先ベースにYYYYMMDDhhmmss形式のフォルダを作成し、その中にバックアップフォルダリストリストで指定されたフォルダをバックアップしていく。
  • 第二引数に指定された値がcopyなら圧縮せずに単純にコピーするだけ。
  • バックアップフォルダ内にbackuplog.txtログファイルを作成。
  • を付け忘れるとその親フォルダが丸ごとコピーされるので注意。

ソース

# バックアップ設定
# バックアップ先のベースフォルダ
バックアップ先ベースは「D:\backup\」
# バックアップするフォルダのリスト
# \の付け忘れに注意
# 第二引数:copyを指定すると圧縮せずにフォルダをコピーする
バックアップフォルダリストは「C:\Users\noguchi\AppData\Roaming\Thunderbird\
{マイピクチャ}	copy」
########################################################
# バックアップフォルダ名を現在日時から求める
tmpは「{今日}{今}」
tmpの「/」を「」に置換
「:」を「」に置換
バックアップフォルダ名はそれ
バックアップ先は「{バックアップ先ベース}{バックアップフォルダ名}\」
「バックアップ先:{バックアップ先}」と表示
# フォルダ作成
バックアップ先にフォルダ作成
「フォルダを作成しました。」と表示。
ログは「開始:{今日} {今}{改行}」
# zipにまとめてバックアップしていく
「バックアップを実行しています。」と表示。
バックアップフォルダリストをTSV取得して反復
  バックアップ元は対象\0
  オプションは対象\1
  
  バックアップ元のフォルダ名抽出
  もしオプションが「copy」ならば
    保存先は「{バックアップ先}{それ}」
    バックアップ元を保存先にフォルダコピー
  違えば
    保存先は「{バックアップ先}{それ}.zip」
    バックアップ元を保存先に圧縮
  
  メッセージは「{バックアップ元}	{保存先}」
  メッセージを表示
  ログは「{ログ}{メッセージ}{改行}」
ログは「{ログ}終了:{今日} {今}{改行}」
ログを「{バックアップ先}backuplog.txt」に保存
「バックアップが終了しました。({今日} {今})」と表示
# 処理終了
#############################################################
●フォルダ名抽出(Sから|Sの|Sを)
  S=Sのパス抽出。S=Sの終端パス追加。A=Sの一階層上。S=Sの終端パス削除。S=SのAを空に単置換。Sで戻る。
●一階層上(Sの|Sを|Sから)
  S=「..\」をSで相対パス展開。S=Sの終端パス追加。戻る。

ライブラリ関数の出典

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

人気の記事

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP

%d人のブロガーが「いいね」をつけました。