- 因为工作需要,需要使用shell通过git来更新还原代码
#/bin/bash
CURRENTTIME=`date +%Y%m%d%H%M`
ADMINDIR=/data/develop/hicoopay/admin/
ADMINBACKUPDIR=/root/backup/admin/
ADSDIR=/data/develop/hicoopay/ads/
ADSBACKUPDIR=/root/backup/ads/
update_admin(){
[ ! -d ${ADMINBACKUPDIR} ] && mkdir -p ${ADMINBACKUPDIR}
rsync -avz --exclude=runtime/logs ${ADMINDIR} ${ADMINBACKUPDIR}${CURRENTTIME}
cd ${ADMINDIR}
git checkout . && git pull
}
update_ads(){
[ ! -d ${ADSBACKUPDIR} ] && mkdir -p ${ADSBACKUPDIR}
rsync -avz --exclude=storage/logs ${ADSDIR} ${ADSBACKUPDIR}${CURRENTTIME}
cd ${ADSDIR}
git checkout . && git pull
}
rollback_admin(){
echo -e "\033[33m 选择你需要还原的日期 : \033[0m"
select var in `ls ${ADMINBACKUPDIR}`
do
rsync -avz --delete --exclude=runtime/logs ${ADMINBACKUPDIR}${var}/ ${ADMINDIR}
exit
done
}
rollback_ads(){
echo -e "\033[33m 选择你需要还原的日期 : \033[0m"
select var in `ls ${ADSBACKUPDIR}`
do
rsync -avz --delete --exclude=storage/logs ${ADSBACKUPDIR}${var}/ ${ADSDIR}
exit
done
}
admin(){
echo -e "\033[32m 选择你是要更新还是回滚 : \033[0m"
select i in "update" "rollback" "Exit"
do
case $i in
"update")
update_admin
exit
;;
"rollback")
rollback_admin
exit
;;
"Exit")
exit
;;
*)
echo "Please choose 1 || 2 || 3"
;;
esac
done
}
ads(){
echo -e "\033[32m 选择你是要更新还是回滚 : \033[0m"
select i in "update" "rollback" "Exit"
do
case $i in
"update")
update_ads
exit
;;
"rollback")
rollback_ads
exit
;;
"Exit")
exit
;;
*)
echo "Please choose 1 || 2 || 3"
;;
esac
done
}
echo -e "\033[32m 选择你需要操作的项目 : \033[0m"
select var in "admin" "ads" "Exit"
do
case $var in
"admin")
admin
exit
;;
"ads")
ads
exit
;;
"Exit")
exit
;;
*)
echo "Please chose 1 || 2 || 3 "
;;
esac
done