
Bash
1 前言
一个问题,一篇文章,一出故事。
笔者今天需要本文一些配置文件或者目录,于是整理此文。
2 最佳实践
2.1 创建备份脚本
mkdir ~/scripts/ vim ~/scripts/backupPostFixConf.sh
加入如下配置,
#!/bin/bash backupDir="/data/backup" backupFiles="/etc/postfix" backupSubject="postfix" removeTime="+14" timeSet="`date +'%Y-%m-%d %H:%M:%S'`" backupLog="/var/log/$backupSubject-backup.log" backupSaveName="$backupSubject"'-backup'"-`date +'%Y%m%d%H%M%S' -d "$timeSet"`"'.tar.bz2' if [ ! -d "$backupDir" ]; then echo "$timeSet Directory $backupDir does not exist!" | tee -a "$backupLog" exit 1 fi if [ ! -d "`dirname $backupLog`" ]; then echo "$timeSet Directory `dirname $backupLog` does not exist!" | tee -a "$backupLog" exit 1 fi echo "$timeSet Starting backup!" | tee -a "$backupLog" for file in $backupFiles; do if [ ! -e "$file" ]; then continue fi tar -cvjf "$backupDir"'/'"$backupSaveName" "$file" done echo "$timeSet Backup completed successfully!" | tee -a "$backupLog" #find "$backupDir" -mtime "$removeTime" -type f -name "$backupSubject"'-backup-*.tar.bz2' -exec ls -l {} \; find "$backupDir" -mtime "$removeTime" -type f -name "$backupSubject"'-backup-*.tar.bz2' -exec rm -f {} \;
另外,根据脚本的需求,你需要使用如下命令安装软件包,
dnf install -y bzip2
2.2 创建脚本触发
crontab -e
加入如下配置,
0 3 */1 * * sh ~/scripts/backupPostFixConf.sh > /dev/null 2>&1
没有评论