在Linux环境下实现文件自动备份和压缩,减少数据丢失的烦恼。
#!/bin/bash
#判断输入参数个数是否为1
if [ $# -ne 1 ]
then
echo "参数个数错误!应该输入所要归档的目录名"
exit
fi
#从参数中获取目录名称
if [ -d $1 ]
then
echo "输入的确实是一个目录"
else
echo "目录不存在"
exit
fi
DIR_NAME=$(basename $1)
DIR_PATH=$(cd $(dirname $1);pwd )
#获取当前日期
DATE=$(date +%y%m%d)
#定义生成的归档文件名以及路径名
E=archive_${DIR_NAME}_$DATE.tar.gz
T=/root/archive/$E
#开始归档目录文件
echo "开始归档"
tar -czf $T $DIR_PATH/$DIR_NAME
if [ $? -eq 0 ]
then
echo "归档成功,文件名为:$T"
else
echo "归档失败"
fi
脚本执行前记得赋予执行权限!
chmod u+x daily_archive.sh
执行前需要创建一个文件目录存放归档文件!
mkdir /root/arichive
执行结果:
PS:设置定时的文件归档及设置定时任务
crontab -e
这里设置自动归档时间为每天零点。