对数据表分别备份,dump文件比较大,考虑压缩保存。
cd /home/dtmngsvr/data/collect
dir=/home/dtmngsvr/data/backup
currentdate=$(date "+%y%m%d")
ls -ltr|grep "dmp"|awk '{ print substr($9,1,6) }'|sort|uniq|while read str
do
tbname=$str$currentdate
tar -zcvf $tbname.tar.gz $str*
mv $tbname.tar.gz $dir
rm $str*
done
if [ $? -eq 0 ];then
echo "success$currentdate">>tar.log
else
echo "failed$currentdate">>tar.log
fi
说明:
# 获取当前系统时间
# 原格式输出Fri Nov 8 10:31:22 CST 2019
echo $(date)
# 时间串输出
echo $(date "+%Y%m%d%H%M%S") #20191108103902
echo $(date "+%y%m%d%H%M%S") #191108103928
echo $(date "+%Y%m%d") #20191108
echo $(date "+%y%m%d") #191108
# 时间格式输出
echo $(date "+%Y-%m-%d %H:%M:%S") #2019-11-08 10:43:42
echo $(date "+%Y.%m.%d") #2019.11.08
# Y显示4位年份,y显示2位年份
# m表示月份,M表示分钟
# d表示天,D表示当前日期
# H表示小时,h表示月份
# s显示当前秒钟,单位毫秒,S显示当前始终,单位为秒