標籤:-name back echo red rom auth shell 問題 weblogic域
一直一來,由於空間問題,weblogic域很少備份,偶爾會手動備份一次,這營運做得不稱職,今天有時間,寫個小指令碼來定時備份。
1、指令碼備份檔案目錄結構
[[email protected] ~]$ tree weblogic_bak_shellweblogic_bak_shell|-- exclude.conf|-- logs| `-- 2017-08-02.log|-- tar.conf`-- weblogic_bak.sh
2、主備份指令碼
weblogic_bak.sh
#!/bin/bash#############################weblogic備份指令碼 ##2017-08-02 ##Version:1.0 ##Author:jzd ##說明: ##1、需要配置需備份目錄 ##2、排除的檔案或目錄 #############################shell_dir=$(cd $(dirname $0); pwd)source /etc/profilesource ~/.bash_profileif [ ! -f ${shell_dir}/tar.conf ]; then echo "tar.conf file not exist" exit 1fisource ${shell_dir}/tar.confexe_data=$(date +%F)bak_file_name="weblogic_${exe_data}.tgz"log_file="${shell_dir}/logs/${exe_data}.log"#begin backup[ "${bak_dir}"x != ""x ] && [ "${exclude_file}"x != ""x ] && [ "${dst_bak_dir}"x != ""x ] && tar -zcvpf ${dst_bak_dir}/${bak_file_name} --exclude-from=${exclude_file} ${bak_dir} &> ${log_file} || echo "先決條件不滿足,tar不執行" > ${log_file}#del backif [ -f ${dst_bak_dir}/${bak_file_name} ] && [ "${dst_bak_dir}"x != ""x ] && [ "${expired_days}"x != ""x ]; then find ${dst_bak_dir} -mtime +${expired_days} -name "weblogic_*-*-*.tgz" | xargs rm -ffiexit $?
3、設定檔
exclude.conf
[[email protected] weblogic_bak_shell]$ cat exclude.conf *.out*.log*.tar*.tgzserverstemp
tar.conf
[[email protected] weblogic_bak_shell]$ cat tar.conf bak_dir="/u01/Middleware/user_projects/domains/weblogic"dst_bak_dir="/home/weblogic/weblogic_bak_dir"exclude_file=exclude.confexpired_days=14
4、加入定時任務
crontab -e
00 19 * * 6 cd /home/weblogic/weblogic_bak_shell && bash weblogic_bak.sh &> /dev/null
weblogic域備份指令碼