定期備份資料
date 顯示系統時間 Y年 m月 d日 H時 M分 S秒
tar 打包資料 -z 使用gzip -j 使用bz2 -x 解開打包
將來源資料打包成付有日期的壓縮檔
-N day表示只打包比該日期新的資料
測試是否備份壓縮檔成功
$?上次指令是否正常執行,順利則回傳0
成功則用scp傳送檔案到遠方開放ssh電腦保存
順利傳送就可以刪除本機上得檔案
#!/bin/bash
day=$(date "+%Y-%m-%d")
tar -N "$day" -zcf backup_"$day".tar.gz source
tar -zcf backup_"$day".tar.gz source
if [ "$?" == 0 ]; then
scp backup_"$day".tar.gz user@host:~/
if [ "$?" == 0 ]; then
rm backup_"$day".tar.gz
else
echo "Error at scp data to host" >> backup.log
fi
else
echo "Error at tar data" >> backup.log
fi
把上面的工作加入例行命令中,這樣才不會忘記備份資料
crontab -e 編輯例行命令
0 3 * * * ./backup.sh
#分 時 日 月 週 |<=指令串=>|
沒有留言:
張貼留言