# !/bin/bash
#--------------------------------#
# author: Jugier
# date: 2019-12-10
# 作用: 定期备份文件
#--------------------------------#
# ShellFolder 脚本所在路径
# SourceDir 需要备份的目录
# BackDir 备份目录
echo -e "Backup\n*********************************"
echo "脚本在后台运行:./backup.sh 1 &"
echo "查看脚本程序号:jobs -l"
echo "*********************************"
ShellFolder=$(cd "$(dirname "$0")";pwd)
echo "当前目录:"$ShellFolder
SourceDir="${ShellFolder##*/}"
echo "需要备份的文件夹:"$SourceDir
BackDir=$SourceDir".sample"
echo "备份目录:"$BackDir
if [ ! -d "../$BackDir" ];then
mkdir ../$BackDir
else
echo "文件夹"$BackDir"已经存在"
fi
echo "*********************************"
#**************************************************#
#备份间隔时间:由脚本第一个参数传递
if [ "$#" -lt "1" ];then
echo "error:没有设置备份间隔时间(小时)"
echo "例:./backup.sh 1"
exit 0
fi
if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then
echo "备份间隔时间:"$1"小时"
else
echo '传递的参数不是数字.'
echo "例:./backup.sh 1"
exit 0
fi
echo "*********************************"
let step=$1*60*60
#**************************************************#
while [ "1" = "1" ]
do
cp -a $ShellFolder/* ../$BackDir/
sleep $step
done