系统中数据很重要,为确保数据不会丢失,定时备份数据是一个必要的习惯。制定一个存储重要文件的数据备份计划也绝非易事,而shell脚本可以祝我们一臂之力。
1.创建需要备份配置文件的路径文件。(BACKUP_FILE)
2.以日期为备份文件的后缀。
3.判断配置文件的路径文件是否存在。
4.按行读取路径文件并逐行判断文档里的路径文件是否存在,存在则继续。若不存在,则输出此文件不存在。继续下一行读取并判断。
5.最后进行备份归档。
shell脚本内容
#!/bin/bash
DATE=$(date +%y%m%d)
FILE=archive$DATE.tar.gz
CONFIG_FILE=/archive/BACKUP_FILE
DESTINATION=/archive/$FILE
if [ -f $CONFIG_FILE ]
then
echo
else
echo "$CONFIG_FILE ,does not exist"
fi
FILE_NO=1
exec < $CONFIG_FILE
read $FILE_NAME
while [ $? -eq 0 ]
do
if [ -f $FILE_NAME -o -d $FILE_NAME]
then
FILE_LIST="$FILE_LIST $FILE_NAME"
else
echo "$FILE_NAME does not exist"
echo "It is listed on line $FILE_NO of the config file."
fi
FILE_NO=$[$FILE_NO + 1 ]
read $FILE_NAME
done
echo "starting archive......"
tar -czf $DESTINATION $CONFIG_FILE 2>/dev/null
echo "archive completed"
echo "Resulting archive file is: $DESTINATION"
exit
脚本运行结果如下图所示:
最后,将脚本加入到cron定时任务中设置脚本运行时间既是备份时间。下图为设置范例: