4月 022011
 
シェアする

ファイルを編集する前には必ずバックアップをとること。

「-p」はコピー元のファイルの所有者とタイムスタンプを同じ状態でコピーする。
「-r」はディレクトリをコピーする際に必要なオプション。

■オリジナルのバックアップをとる例

cp -p /path/to/file /path/to/file.ORG
cp -pr /path/to/directory /path/to/directory.ORG

■今日の日付が付いたバックアップをとる例

cp -p /path/to/file /path/to/file.BAK`date +%y%m%d`
cp -pr /path/to/directory /path/to/directory.BAK`date +%Y%m%d`

コマンドをいちいち打つのが面倒くさいので、以下2スクリプトを作成しておく。

# vi /usr/bin/back

以下ファイルの中身

#!/bin/bash
cp -rp $1 $1.BAK`date +%Y%m%d`
# vi /usr/bin/oback

以下ファイルの中身

#!/bin/bash
cp -rp $1 $1.ORG

両者共にchmod +x file として実行権限を付与しておく。

オリジナルバックアップは「oback 対象」
その日のバックアップは「back 対象」で実行できる。

 

以下検証

[root@tirppyboy ~]# touch /tmp/file
[root@tirppyboy ~]# 
[root@tirppyboy ~]# ls -la /tmp/file*
-rw-r--r-- 1 root root 0 Apr  2 01:58 /tmp/file
[root@tirppyboy ~]# 
[root@tirppyboy ~]# back /tmp/file
[root@tirppyboy ~]# 
[root@tirppyboy ~]# ls -la /tmp/file*
-rw-r--r-- 1 root root 0 Apr  2 01:58 /tmp/file
-rw-r--r-- 1 root root 0 Apr  2 01:58 /tmp/file.BAK20110402
[root@tirppyboy ~]# 
[root@tirppyboy ~]# oback /tmp/file
[root@tirppyboy ~]# 
[root@tirppyboy ~]# ls -la /tmp/file*
-rw-r--r-- 1 root root 0 Apr  2 01:58 /tmp/file
-rw-r--r-- 1 root root 0 Apr  2 01:58 /tmp/file.BAK20110402
-rw-r--r-- 1 root root 0 Apr  2 01:58 /tmp/file.ORG
[root@tirppyboy ~]#
このエントリーをはてなブックマークに追加

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ