Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21093

Shell Script でタイムスタンプでバックアップ

$
0
0

はじめに

こちらではshellscriptをつかってのディレクトリのバックアップについての説明をしていきたいと思います。

といっても特定のディレクトリを別のディレクトリにタイムスタンプで保存し、間隔をあけループさせるといシンプルなものになります。

環境

vagrant
Debian10

内容

上記したとうりになるので具体的にコードを書いていきます

設定ファイルを読み込む
※設定ファイルは同階層であることを前提とします

間隔が設定されていることを確認

設定したディレクトリがあることを確認

設定した保存先のディレクトリがあることを確認

それぞれ確認してOKならループする

backup.sh
#!/bin/sh#cnfの読み込み. ./backup.cnf

#時間が設定されているかの確認。設定されていなければ勝手に設定if["$LOOPTIME"=""];then
 LOOPTIME=3500
fi#空文字検査if["$SAUCE"=""];then
 echo"Not Setting Directry Sauce"fi#空文字検査if["$AFTER"=""];then
 echo"Not Setting Directry After"fi#バックアップしたいディレクトリがあるかの確認if[!-e$BEFOR];then 
 echo"Not Directry Sauce"exit 
fi#バックアップ先のディレクトリがあるかの確認if[!-d$AFTER];then
 echo"Not Directry After"exit
fi#ループwhile :
 do#設定した時間分だけ待機sleep$LOOPTIME#タイムスタンプ取得TIME=`date'+%y%m%d_%H%M%S'`#コピーコマンドcp-r$SAUCE$AFTER/$TIMEdone

cnfファイル内容

backup.cnf
LOOPTIME= [時間の設定]
SAUCE= [元フォルダ]
AFTER= [保存先フォルダ]

実行結果

backup.cnf
LOOPTIME=3
BEFOR=/home/vagrant/test1
AFTER=/home/vagrant/test2
$ ./bakcup.sh
test2$ ls
200512_080142  200512_082406  200512_082407  200512_082408  200512_082409

まとめ

いかがだったでしょうか
足りない部分があればまた足していきます。


Viewing all articles
Browse latest Browse all 21093

Trending Articles