shell脚本:压缩dump文件

对数据表分别备份,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显示当前始终,单位为秒
原文地址:https://www.cnblogs.com/myheart-new/p/11818788.html