一、脚本
SOURCE_FILES_PATH="/var/log"
TARGET_FILES_PATH="/root/copyFiles"
if [ ! -d ${TARGET_FILES_PATH} ]; then
mkdir -pv $TARGET_FILES_PATH
fi
tarName=$(date +%Y-%m-%d-%H:%M:%S)
tar -Pzcvf $TARGET_FILES_PATH/${tarName}.tar.gz $(find ${SOURCE_FILES_PATH} -type f -atime -7 -name "*.log.*")
if [ -f ${TARGET_FILES_PATH}/${tarName}.tar.gz ]; then
echo "===========================备份成功====================="
else
echo "===========================备份失败====================="
fi
二、总结
1.tar
在压缩文件时不会自动创建不存在的文件夹,需要提前判定目标文件夹是否存在,否则出错。
2.cp、mv
在执行命令时如果目标文件夹不存在,会自动创建文件夹,并将文件存放到该文件夹下。注意:在创建文件夹时不可以跨级创建,及不能在不存在的文件夹下面创建不存在的文件夹。