CentOS 备份服务器配置文件的 Shell 脚本 [不定时更新]
更新:2012-02-08:备份时保留httpd、vsftpd的目录结构;
题记:
终于把服务器安顿妥当,一堆的配置文件都是血汗呀。第一件事当然得保证它们的安全,于是这个脚本就诞生了。
注:配置文件列表有删减,请根据情况自行添加,初期的shell脚本可能不太完善,希望看到的朋友能够多提意见,不胜感激。
代码:
#!/bin/bash
# 配置
TEMP_DIR="/home/upall.cn/temp"
DATE=`date +%Y-%m-%d_%T`
MAIL_TITLE="[CONFIG-BAK]"$DATE
MAIL_FILE="/home/upall.cn/config.tar.gz"
MAIL_TO="user@upall.cn"
MAIL_CONTENT="/home/upall.cn/mailContent.txt"
# 初始化
if [ ! -d $TEMP_DIR ] ;
then
mkdir -p "$TEMP_DIR"
fi
# 打包
cp /etc/php.ini $TEMP_DIR
cp /etc/sysconfig/iptables $TEMP_DIR
cp /etc/ssh/sshd_config $TEMP_DIR
find /etc/httpd -type f -name "*.conf" | xargs -i cp --parents {} $TEMP_DIR
find /etc/vsftpd -type f | xargs -i cp --parents {} $TEMP_DIR
tar -czf $MAIL_FILE -C `dirname $TEMP_DIR` `basename $TEMP_DIR`
# 发邮件
echo "Conf files. At:"$DATE > $MAIL_CONTENT
mutt -s $MAIL_TITLE -a $MAIL_FILE $MAIL_TO < $MAIL_CONTENT
# 清理临时文件
rm -rf $TEMP_DIR
rm -rf $MAIL_FILE
<完>