背景:在日常工作中,始终坚持“备份重于一切”的理念,在应用上线后,快速整理了自动化脚本。
脚本实现如下:
#!/bin/bash
# 此脚本用来备份weblogic管理节点domian域。脚本上传至/home/weblogic/下,执行 sh DomainBackupScript.sh即可。
#备份采用Crontab定时执行
#domain_name根据实际修改
domain_name=XXXXXX_domain
domain_dir=/weblogic/user_projects/domains
bak_date=`date '+%Y%m%d'`
echo -e "开始备份域:${domain_name},排除其下的server文件夹"
cd ${domain_dir}
tar -zcvf ${domain_name}_bak${bak_date}.tar.gz --exclude=${domain_name}/servers --exclude=*.log --exclude=*.out --exclude=${domain_name}/C: --exclude=${domain_name}/D: --exclude=${domain_name}/RESULTCACHE ${domain_name}/
[ $? -ne 0 ] && echo "备份失败!" || echo "备份成功!备份文件:${domain_dir}/${domain_name}_bak${bak_date}.tar.gz"
echo -e "\e[031m备份文件请手工异机备份或者传输至本地工位机!\e[0m"
ps -ef | grep crond | egrep -v grep
#设置定时任务
svc="crond"
if ps -ef | grep $svc | egrep -v grep >/dev/null
then
echo "$svc is started!"
else
echo "$svc not found!请启动crond服务程序"
exit 1
fi
cmd=`crontab -l | grep DomainBackupScript | wc -l`
if [[ ${cmd} -eq 0 ]];then
echo "0 1 * * 7 /bin/sh /home/weblogic/DomainBackupScript.sh 2 >& 1 >/dev/null" > /home/weblogic/cron_file
crontab /home/weblogic/cron_file
echo "定时任务设置完成"
fi
供参考。