{"id":2234,"date":"2025-11-26T09:30:19","date_gmt":"2025-11-26T01:30:19","guid":{"rendered":"https:\/\/blog.nonot.cn\/?p=2234"},"modified":"2025-11-26T09:30:19","modified_gmt":"2025-11-26T01:30:19","slug":"%e5%ae%9d%e5%a1%94%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%af%8f%e5%a4%a9%e5%87%8c%e6%99%a82%e7%82%b9%e8%87%aa%e5%8a%a8%e9%87%8d%e5%90%af-%e4%b8%80%e9%94%ae%e9%85%8d%e7%bd%ae%e8%84%9a%e6%9c%ac","status":"publish","type":"post","link":"https:\/\/blog.nonot.cn\/index.php\/2025\/11\/26\/%e5%ae%9d%e5%a1%94%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%af%8f%e5%a4%a9%e5%87%8c%e6%99%a82%e7%82%b9%e8%87%aa%e5%8a%a8%e9%87%8d%e5%90%af-%e4%b8%80%e9%94%ae%e9%85%8d%e7%bd%ae%e8%84%9a%e6%9c%ac\/","title":{"rendered":"\u5b9d\u5854\u670d\u52a1\u5668\u6bcf\u5929\u51cc\u66682\u70b9\u81ea\u52a8\u91cd\u542f \u2013 \u4e00\u952e\u914d\u7f6e\u811a\u672c"},"content":{"rendered":"<p>\u4f7f\u7528\u65b9\u6cd5\uff1a<\/p>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2237\" title=\"1.webp-1\" src=\"https:\/\/blog.nonot.cn\/wp-content\/uploads\/replace\/df62ad7e2c45aaf8b9e639692f2502c0.png\" alt=\"1.webp-1\" width=\"571\" height=\"408\" \/><\/figure>\n<ol class=\"wp-block-list\">\n<li>\u5c06\u811a\u672c\u4e0a\u4f20\u5230\u670d\u52a1\u5668<\/li>\n<li>\u8fd0\u884c\u547d\u4ee4\uff1achmod +x bt_daily_restart.sh<\/li>\n<li>\u6267\u884c\u811a\u672c\uff1a.\/bt_daily_restart.sh<\/li>\n<\/ol>\n<p>\u2705 \u811a\u672c\u529f\u80fd\uff1a<\/p>\n<ul class=\"wp-block-list\">\n<li>\u81ea\u52a8\u68c0\u6d4b\u5b9d\u5854\u9762\u677f\u73af\u5883<\/li>\n<li>\u521b\u5efa\u5b89\u5168\u7684\u670d\u52a1\u91cd\u542f\u811a\u672c<\/li>\n<li>\u8bbe\u7f6e\u6bcf\u5929\u51cc\u66682\u70b9\u81ea\u52a8\u91cd\u542f<\/li>\n<li>\u81ea\u52a8\u914d\u7f6ecron\u5b9a\u65f6\u4efb\u52a1<\/li>\n<li>\u5b8c\u6574\u7684\u65e5\u5fd7\u8bb0\u5f55\u548c\u9a8c\u8bc1<\/li>\n<\/ul>\n<p>\ud83d\udd27 \u914d\u7f6e\u5b8c\u6210\u540e\uff1a<\/p>\n<ul class=\"wp-block-list\">\n<li>\u91cd\u542f\u65f6\u95f4\uff1a\u6bcf\u5929\u51cc\u6668 02:00<\/li>\n<li>\u91cd\u542f\u65e5\u5fd7\uff1a\/var\/log\/bt_reboot.log<\/li>\n<li>\u811a\u672c\u8def\u5f84\uff1a\/opt\/bt_restart\/restart_server.sh<\/li>\n<\/ul>\n<p>\ud83d\udccb \u7ba1\u7406\u547d\u4ee4\uff1a<br \/>\n\u67e5\u770b\u5b9a\u65f6\u4efb\u52a1\uff1acrontab -l<br \/>\n\u67e5\u770b\u91cd\u542f\u65e5\u5fd7\uff1atail -f \/var\/log\/bt_reboot.log<br \/>\n\u624b\u52a8\u6267\u884c\u91cd\u542f\uff1a\/opt\/bt_restart\/restart_server.sh<br \/>\n\u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1acrontab -l | grep -v \u2018\/opt\/bt_restart\/restart_server.sh\u2019 | crontab \u2013<\/p>\n<p>\u26a0\ufe0f \u6ce8\u610f\u4e8b\u9879\uff1a<\/p>\n<ul class=\"wp-block-list\">\n<li>\u8bf7\u4f7f\u7528root\u6743\u9650\u6267\u884c<\/li>\n<li>\u786e\u4fdd\u670d\u52a1\u5668\u5df2\u5b89\u88c5\u5b9d\u5854\u9762\u677f<\/li>\n<li>\u5efa\u8bae\u5728\u4f4e\u8bbf\u95ee\u91cf\u65f6\u6bb5\u4f7f\u7528<\/li>\n<li>\u5b9a\u671f\u68c0\u67e5\u65e5\u5fd7\u786e\u4fdd\u6b63\u5e38\u8fd0\u884c<\/li>\n<\/ul>\n<div class=\"wp-block-zibllblock-hide-content\" data-type=\"payshow\">\n<div class=\"hidden-box show\">\n<div class=\"enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-linenumbers enlighter-overflow-scroll\">\n<div class=\"enlighter-toolbar\">\n<div class=\"enlighter-btn enlighter-btn-raw\"><\/div>\n<div class=\"enlighter-btn enlighter-btn-copy\">=========================================================<\/div>\n<div class=\"enlighter-btn enlighter-btn-window\"><\/div>\n<\/div>\n<div class=\"enlighter\">\n<div class=\"\">\n<div><span class=\"enlighter-c0\">#!\/bin\/bash<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u5b9d\u5854\u670d\u52a1\u5668\u6bcf\u5929\u51cc\u66682\u70b9\u81ea\u52a8\u91cd\u542f\u4e00\u952e\u914d\u7f6e\u811a\u672c<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u8fd0\u884c\u6b64\u811a\u672c\u5373\u53ef\u81ea\u52a8\u914d\u7f6e\u6bcf\u5929\u51cc\u66682\u70b9\u91cd\u542f\u670d\u52a1\u5668\u670d\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u914d\u7f6e\u53d8\u91cf<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">SCRIPT_NAME=<\/span><span class=\"enlighter-s0\">&#8220;bt_restart&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">INSTALL_DIR=<\/span><span class=\"enlighter-s0\">&#8220;\/opt\/$SCRIPT_NAME&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">RESTART_SCRIPT=<\/span><span class=\"enlighter-s0\">&#8220;$INSTALL_DIR\/restart_server.sh&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">LOG_FILE=<\/span><span class=\"enlighter-s0\">&#8220;\/var\/log\/bt_daily_restart.log&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">CRON_TIME=<\/span><span class=\"enlighter-s0\">&#8220;0 2 * * *&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u989c\u8272\u8f93\u51fa<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">RED=<\/span><span class=\"enlighter-s0\">&#8216;\u000033[0;31m&#8217;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">GREEN=<\/span><span class=\"enlighter-s0\">&#8216;\u000033[0;32m&#8217;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">YELLOW=<\/span><span class=\"enlighter-s0\">&#8216;\u000033[1;33m&#8217;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">BLUE=<\/span><span class=\"enlighter-s0\">&#8216;\u000033[0;34m&#8217;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">NC=<\/span><span class=\"enlighter-s0\">&#8216;\u000033[0m&#8217;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u6e05\u5c4f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">clear<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u663e\u793a\u6807\u9898<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE}================================================${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE} \u5b9d\u5854\u670d\u52a1\u5668\u6bcf\u5929\u51cc\u66682\u70b9\u81ea\u52a8\u91cd\u542f\u914d\u7f6e\u5de5\u5177${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE} \u8da3\u4e5d\u6e38\u6e90\u7801\u8d44\u6e90\u7f51www.qujiuyou.com${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE} QQ:88468818{NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE}================================================${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u65e5\u5fd7\u51fd\u6570<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">log<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;$(date &#8216;+%Y-%m-%d %H:%M:%S&#8217;) &#8211; $1&#8221;<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> tee -a <\/span><span class=\"enlighter-s0\">&#8220;$LOG_FILE&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">print_info<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${GREEN}[INFO]${NC} $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> log <\/span><span class=\"enlighter-s0\">&#8220;[INFO] $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">print_warning<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${YELLOW}[WARNING]${NC} $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> log <\/span><span class=\"enlighter-s0\">&#8220;[WARNING] $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">print_error<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${RED}[ERROR]${NC} $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> log <\/span><span class=\"enlighter-s0\">&#8220;[ERROR] $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u68c0\u67e5\u662f\u5426\u4e3aroot\u7528\u6237<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">check_root<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span> <span class=\"enlighter-g1\">[<\/span> <span class=\"enlighter-s0\">&#8220;$EUID&#8221;<\/span><span class=\"enlighter-text\"> -ne <\/span><span class=\"enlighter-n1\">0<\/span> <span class=\"enlighter-g1\">]<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_error <\/span><span class=\"enlighter-s0\">&#8220;\u8bf7\u4f7f\u7528root\u6743\u9650\u8fd0\u884c\u6b64\u811a\u672c&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u4f7f\u7528\u547d\u4ee4: sudo $0&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> exit <\/span><span class=\"enlighter-n1\">1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Root\u6743\u9650\u68c0\u67e5\u901a\u8fc7&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u68c0\u67e5\u7cfb\u7edf<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">check_system<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u68c0\u67e5\u7cfb\u7edf\u73af\u5883&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5\u64cd\u4f5c\u7cfb\u7edf<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span> <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-text\"> -f \/etc\/os-release <\/span><span class=\"enlighter-g1\">]<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> . \/etc\/os-release<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u64cd\u4f5c\u7cfb\u7edf: $PRETTY_NAME&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5\u5b9d\u5854\u9762\u677f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span> <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-text\"> -f <\/span><span class=\"enlighter-s0\">&#8220;\/etc\/init.d\/bt&#8221;<\/span> <span class=\"enlighter-g1\">]<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u68c0\u6d4b\u5230\u5b9d\u5854\u9762\u677f\u5df2\u5b89\u88c5&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> bt_version=$<\/span><span class=\"enlighter-g1\">(<\/span><span class=\"enlighter-text\">bt info <\/span><span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep <\/span><span class=\"enlighter-s0\">&#8220;\u9762\u677f\u7248\u672c&#8221;<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> awk <\/span><span class=\"enlighter-s0\">&#8216;{print $2}&#8217;<\/span> <span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-g1\">)<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span> <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-text\"> ! -z <\/span><span class=\"enlighter-s0\">&#8220;$bt_version&#8221;<\/span> <span class=\"enlighter-g1\">]<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5b9d\u5854\u9762\u677f\u7248\u672c: $bt_version&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">else<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_error <\/span><span class=\"enlighter-s0\">&#8220;\u672a\u68c0\u6d4b\u5230\u5b9d\u5854\u9762\u677f\uff0c\u8bf7\u5148\u5b89\u88c5\u5b9d\u5854\u9762\u677f&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> exit <\/span><span class=\"enlighter-n1\">1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5cron\u670d\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet cron <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet crond <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5b9a\u65f6\u4efb\u52a1\u670d\u52a1\u8fd0\u884c\u6b63\u5e38&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">else<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_warning <\/span><span class=\"enlighter-s0\">&#8220;\u5b9a\u65f6\u4efb\u52a1\u670d\u52a1\u672a\u8fd0\u884c\uff0c\u5c06\u81ea\u52a8\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl start cron <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl start crond <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl enable cron <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl enable crond <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5b9a\u65f6\u4efb\u52a1\u670d\u52a1\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u521b\u5efa\u91cd\u542f\u811a\u672c<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">create_restart_script<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u521b\u5efa\u670d\u52a1\u5668\u91cd\u542f\u811a\u672c&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u521b\u5efa\u5b89\u88c5\u76ee\u5f55<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> mkdir -p <\/span><span class=\"enlighter-s0\">&#8220;$INSTALL_DIR&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u521b\u5efa\u91cd\u542f\u811a\u672c\u5185\u5bb9<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> cat <\/span><span class=\"enlighter-g1\">&gt;<\/span> <span class=\"enlighter-s0\">&#8220;$RESTART_SCRIPT&#8221;<\/span> <span class=\"enlighter-g1\">&lt;&lt;<\/span> <span class=\"enlighter-s0\">&#8216;EOF&#8217;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\">#!\/bin\/bash<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u5b9d\u5854\u670d\u52a1\u5668\u91cd\u542f\u811a\u672c &#8211; \u81ea\u52a8\u6267\u884c\u65f6\u95f4: $(date)<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">LOG_FILE=<\/span><span class=\"enlighter-s0\">&#8220;\/var\/log\/bt_reboot.log&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u65e5\u5fd7\u51fd\u6570<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">log<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;$(date &#8216;+%Y-%m-%d %H:%M:%S&#8217;) &#8211; $1&#8221;<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> tee -a <\/span><span class=\"enlighter-s0\">&#8220;$LOG_FILE&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">print_info<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;\u000033[0;32m[INFO]\u000033[0m $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> log <\/span><span class=\"enlighter-s0\">&#8220;[INFO] $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">print_error<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;\u000033[0;31m[ERROR]\u000033[0m $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> log <\/span><span class=\"enlighter-s0\">&#8220;[ERROR] $1&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u505c\u6b62\u670d\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">stop_services<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5f00\u59cb\u505c\u6b62\u670d\u52a1&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u505c\u6b62Nginx<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet nginx <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl stop nginx<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Nginx\u5df2\u505c\u6b62&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u505c\u6b62Apache<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet httpd <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl stop httpd<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Apache\u5df2\u505c\u6b62&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u505c\u6b62MySQL<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet mysqld <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet mysql <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl stop mysqld <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl stop mysql <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;MySQL\u5df2\u505c\u6b62&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u505c\u6b62PHP-FPM<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">for<\/span><span class=\"enlighter-text\"> php_version <\/span><span class=\"enlighter-k1\">in<\/span> <span class=\"enlighter-n1\">56<\/span> <span class=\"enlighter-n1\">70<\/span> <span class=\"enlighter-n1\">71<\/span> <span class=\"enlighter-n1\">72<\/span> <span class=\"enlighter-n1\">73<\/span> <span class=\"enlighter-n1\">74<\/span> <span class=\"enlighter-n1\">80<\/span> <span class=\"enlighter-n1\">81<\/span> <span class=\"enlighter-n1\">82<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">do<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet php-fpm-$<\/span><span class=\"enlighter-g1\">{<\/span><span class=\"enlighter-text\">php_version<\/span><span class=\"enlighter-g1\">}<\/span> <span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl stop php-fpm-$<\/span><span class=\"enlighter-g1\">{<\/span><span class=\"enlighter-text\">php_version<\/span><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;PHP-FPM ${php_version}\u5df2\u505c\u6b62&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> done<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u505c\u6b62Redis<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet redis <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl is-active &#8211;quiet redis-server <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl stop redis <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl stop redis-server <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Redis\u5df2\u505c\u6b62&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u505c\u6b62\u5b9d\u5854\u9762\u677f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> \/etc\/init.<\/span><span class=\"enlighter-m3\">d<\/span><span class=\"enlighter-text\">\/bt stop <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5b9d\u5854\u9762\u677f\u5df2\u505c\u6b62&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u542f\u52a8\u670d\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">start_services<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5f00\u59cb\u542f\u52a8\u670d\u52a1&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u542f\u52a8\u5b9d\u5854\u9762\u677f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> \/etc\/init.<\/span><span class=\"enlighter-m3\">d<\/span><span class=\"enlighter-text\">\/bt start <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> sleep <\/span><span class=\"enlighter-n1\">5<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5b9d\u5854\u9762\u677f\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u542f\u52a8MySQL<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl start mysqld <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl start mysql <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> sleep <\/span><span class=\"enlighter-n1\">10<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;MySQL\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u542f\u52a8Redis<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl list-unit-files <\/span><span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -q <\/span><span class=\"enlighter-s0\">&#8220;redis.service|redis-server.service&#8221;<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl start redis <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">||<\/span><span class=\"enlighter-text\"> systemctl start redis-server <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Redis\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u542f\u52a8PHP-FPM<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">for<\/span><span class=\"enlighter-text\"> php_version <\/span><span class=\"enlighter-k1\">in<\/span> <span class=\"enlighter-n1\">56<\/span> <span class=\"enlighter-n1\">70<\/span> <span class=\"enlighter-n1\">71<\/span> <span class=\"enlighter-n1\">72<\/span> <span class=\"enlighter-n1\">73<\/span> <span class=\"enlighter-n1\">74<\/span> <span class=\"enlighter-n1\">80<\/span> <span class=\"enlighter-n1\">81<\/span> <span class=\"enlighter-n1\">82<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">do<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl list-unit-files <\/span><span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -q <\/span><span class=\"enlighter-s0\">&#8220;php-fpm-${php_version}.service&#8221;<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl start php-fpm-$<\/span><span class=\"enlighter-g1\">{<\/span><span class=\"enlighter-text\">php_version<\/span><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;PHP-FPM ${php_version}\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> done<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u542f\u52a8Nginx<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl list-unit-files <\/span><span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -q <\/span><span class=\"enlighter-s0\">&#8220;nginx.service&#8221;<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl start nginx<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Nginx\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u542f\u52a8Apache<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> systemctl list-unit-files <\/span><span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -q <\/span><span class=\"enlighter-s0\">&#8220;httpd.service&#8221;<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> systemctl start httpd<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;Apache\u5df2\u542f\u52a8&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u4e3b\u6267\u884c\u6d41\u7a0b<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">print_info <\/span><span class=\"enlighter-s0\">&#8220;===== \u5f00\u59cb\u670d\u52a1\u5668\u91cd\u542f =====&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u505c\u6b62\u6240\u6709\u670d\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">stop_services<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u6e05\u7406\u4e34\u65f6\u6587\u4ef6<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">find \/tmp -type f -atime +<\/span><span class=\"enlighter-n1\">7<\/span><span class=\"enlighter-text\"> -delete <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">print_info <\/span><span class=\"enlighter-s0\">&#8220;\u4e34\u65f6\u6587\u4ef6\u6e05\u7406\u5b8c\u6210&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u7b49\u5f8530\u79d2<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">sleep <\/span><span class=\"enlighter-n1\">30<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u542f\u52a8\u6240\u6709\u670d\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">start_services<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u7b49\u5f85\u670d\u52a1\u7a33\u5b9a<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">sleep <\/span><span class=\"enlighter-n1\">20<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">print_info <\/span><span class=\"enlighter-s0\">&#8220;===== \u670d\u52a1\u5668\u91cd\u542f\u5b8c\u6210 =====&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">EOF<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u8bbe\u7f6e\u6267\u884c\u6743\u9650<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> chmod +x <\/span><span class=\"enlighter-s0\">&#8220;$RESTART_SCRIPT&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u91cd\u542f\u811a\u672c\u521b\u5efa\u5b8c\u6210: $RESTART_SCRIPT&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u8bbe\u7f6e\u5b9a\u65f6\u4efb\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">setup_cron_job<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u8bbe\u7f6e\u5b9a\u65f6\u4efb\u52a1 &#8211; \u6bcf\u5929\u51cc\u66682\u70b9\u91cd\u542f&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u5220\u9664\u5df2\u5b58\u5728\u7684\u76f8\u540c\u4efb\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> crontab -l <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -v <\/span><span class=\"enlighter-s0\">&#8220;$RESTART_SCRIPT&#8221;<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> crontab &#8211;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u6dfb\u52a0\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">(<\/span><span class=\"enlighter-text\">crontab -l <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span><span class=\"enlighter-text\">; echo <\/span><span class=\"enlighter-s0\">&#8220;$CRON_TIME $RESTART_SCRIPT &gt;&gt; \/var\/log\/bt_reboot.log 2&gt;&amp;1&#8221;<\/span><span class=\"enlighter-g1\">)<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> crontab &#8211;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span> <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-text\"> $? -eq <\/span><span class=\"enlighter-n1\">0<\/span> <span class=\"enlighter-g1\">]<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5b9a\u65f6\u4efb\u52a1\u8bbe\u7f6e\u6210\u529f\uff01&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u6267\u884c\u65f6\u95f4: \u6bcf\u5929\u51cc\u6668 02:00&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">else<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_error <\/span><span class=\"enlighter-s0\">&#8220;\u5b9a\u65f6\u4efb\u52a1\u8bbe\u7f6e\u5931\u8d25&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">return<\/span> <span class=\"enlighter-n1\">1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u9a8c\u8bc1\u914d\u7f6e<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">verify_config<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u9a8c\u8bc1\u914d\u7f6e&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5\u811a\u672c\u6587\u4ef6<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span> <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-text\"> -f <\/span><span class=\"enlighter-s0\">&#8220;$RESTART_SCRIPT&#8221;<\/span> <span class=\"enlighter-g1\">]<\/span> <span class=\"enlighter-g0\">&amp;&amp;<\/span> <span class=\"enlighter-g1\">[<\/span><span class=\"enlighter-text\"> -x <\/span><span class=\"enlighter-s0\">&#8220;$RESTART_SCRIPT&#8221;<\/span> <span class=\"enlighter-g1\">]<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u2705 \u91cd\u542f\u811a\u672c\u6b63\u5e38&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">else<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_error <\/span><span class=\"enlighter-s0\">&#8220;\u274c \u91cd\u542f\u811a\u672c\u5f02\u5e38&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">return<\/span> <span class=\"enlighter-n1\">1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5\u5b9a\u65f6\u4efb\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">if<\/span><span class=\"enlighter-text\"> crontab -l <\/span><span class=\"enlighter-n1\">2<\/span><span class=\"enlighter-g1\">&gt;<\/span><span class=\"enlighter-text\">\/dev\/<\/span><span class=\"enlighter-k1\">null<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -q <\/span><span class=\"enlighter-s0\">&#8220;$RESTART_SCRIPT&#8221;<\/span><span class=\"enlighter-text\">; <\/span><span class=\"enlighter-k1\">then<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u2705 \u5b9a\u65f6\u4efb\u52a1\u6b63\u5e38&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">else<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_error <\/span><span class=\"enlighter-s0\">&#8220;\u274c \u5b9a\u65f6\u4efb\u52a1\u5f02\u5e38&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-k1\">return<\/span> <span class=\"enlighter-n1\">1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> fi<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u914d\u7f6e\u9a8c\u8bc1\u5b8c\u6210&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u663e\u793a\u914d\u7f6e\u4fe1\u606f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">show_config<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${GREEN}\ud83c\udf89 \u914d\u7f6e\u5b8c\u6210\uff01${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE}\u914d\u7f6e\u4fe1\u606f:${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u23f0 \u91cd\u542f\u65f6\u95f4: \u6bcf\u5929\u51cc\u6668 02:00&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\ud83d\udcdc \u811a\u672c\u8def\u5f84: $RESTART_SCRIPT&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\ud83d\udcdd \u91cd\u542f\u65e5\u5fd7: \/var\/log\/bt_reboot.log&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\ud83d\udd27 \u914d\u7f6e\u65e5\u5fd7: $LOG_FILE&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE}\u5e38\u7528\u547d\u4ee4:${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u67e5\u770b\u5b9a\u65f6\u4efb\u52a1: crontab -l&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u67e5\u770b\u91cd\u542f\u65e5\u5fd7: tail -f \/var\/log\/bt_reboot.log&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u624b\u52a8\u6267\u884c\u91cd\u542f: $RESTART_SCRIPT&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u5220\u9664\u5b9a\u65f6\u4efb\u52a1: crontab -l | grep -v &#8216;$RESTART_SCRIPT&#8217; | crontab -&#8220;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${BLUE}\u6ce8\u610f\u4e8b\u9879:${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u2022 \u5efa\u8bae\u5728\u8bbf\u95ee\u91cf\u8f83\u4f4e\u7684\u65f6\u95f4\u6bb5\uff08\u51cc\u66682\u70b9\uff09\u91cd\u542f&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u2022 \u5b9a\u671f\u68c0\u67e5\u91cd\u542f\u65e5\u5fd7\u786e\u4fdd\u6b63\u5e38\u8fd0\u884c&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;\u2022 \u91cd\u542f\u524d\u91cd\u8981\u6570\u636e\u8bf7\u63d0\u524d\u5907\u4efd&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo -e <\/span><span class=\"enlighter-s0\">&#8220;${YELLOW}\u5982\u9700\u4fee\u6539\u91cd\u542f\u65f6\u95f4\uff0c\u8bf7\u7f16\u8f91crontab\u4efb\u52a1${NC}&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> echo <\/span><span class=\"enlighter-s0\">&#8220;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u4e3b\u51fd\u6570<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-m0\">main<\/span><span class=\"enlighter-g1\">()<\/span> <span class=\"enlighter-g1\">{<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u5f00\u59cb\u914d\u7f6e\u5b9d\u5854\u670d\u52a1\u5668\u5b9a\u65f6\u91cd\u542f&#8230;&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5root\u6743\u9650<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> check_root<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u68c0\u67e5\u7cfb\u7edf\u73af\u5883<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> check_system<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u521b\u5efa\u91cd\u542f\u811a\u672c<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> create_restart_script<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u8bbe\u7f6e\u5b9a\u65f6\u4efb\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> setup_cron_job<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u9a8c\u8bc1\u914d\u7f6e<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> verify_config<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"> # \u663e\u793a\u914d\u7f6e\u4fe1\u606f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> show_config<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\"> print_info <\/span><span class=\"enlighter-s0\">&#8220;\u914d\u7f6e\u5b8c\u6210\uff01\u670d\u52a1\u5668\u5c06\u5728\u6bcf\u5929\u51cc\u66682\u70b9\u81ea\u52a8\u91cd\u542f\u3002&#8221;<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-g1\">}<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u6267\u884c\u4e3b\u51fd\u6570<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">main <\/span><span class=\"enlighter-s0\">&#8220;$@&#8221;<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>=========================================================<\/p>\n<p>&nbsp;<\/p>\n<p>\u521b\u5efa\u7684\u6587\u4ef6<br \/>\nbt_daily_restart.sh \u2013 \u4e3b\u914d\u7f6e\u811a\u672c\uff08\u4e00\u952e\u914d\u7f6e\uff09<br \/>\n\u4f7f\u7528\u8bf4\u660e.txt \u2013 \u7b80\u5316\u7684\u4f7f\u7528\u8bf4\u660e<br \/>\n\ud83d\ude80 \u4f7f\u7528\u65b9\u6cd5<\/p>\n<ol class=\"wp-block-list\">\n<li>\u4e0a\u4f20\u5230\u670d\u52a1\u5668<br \/>\n\u5c06 bt_daily_restart.sh \u4e0a\u4f20\u5230\u670d\u52a1\u5668\u4efb\u610f\u76ee\u5f55\uff0c\u63a8\u8350 \/root\/<\/li>\n<li>\u8bbe\u7f6e\u6267\u884c\u6743\u9650\u5e76\u8fd0\u884c<\/li>\n<\/ol>\n<div class=\"enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-linenumbers enlighter-overflow-scroll\">\n<div class=\"enlighter\">\n<div class=\"\">\n<div><span class=\"enlighter-text\">chmod +x bt_daily_restart.<\/span><span class=\"enlighter-m3\">sh<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">.\/bt_daily_restart.<\/span><span class=\"enlighter-m3\">sh<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>\u811a\u672c\u4f1a\u81ea\u52a8\u5b8c\u6210<br \/>\n\u2705 \u68c0\u67e5\u5b9d\u5854\u9762\u677f\u73af\u5883<br \/>\n\u2705 \u521b\u5efa\u5b89\u5168\u7684\u670d\u52a1\u91cd\u542f\u811a\u672c<br \/>\n\u2705 \u8bbe\u7f6e\u6bcf\u5929\u51cc\u66682:00\u81ea\u52a8\u91cd\u542f<br \/>\n\u2705 \u914d\u7f6ecron\u5b9a\u65f6\u4efb\u52a1<br \/>\n\u2705 \u9a8c\u8bc1\u914d\u7f6e\u662f\u5426\u6210\u529f<br \/>\n\u2705 \u63d0\u4f9b\u5b8c\u6574\u7684\u7ba1\u7406\u547d\u4ee4<br \/>\n\ud83d\udccb \u914d\u7f6e\u540e\u4fe1\u606f<br \/>\n\u91cd\u542f\u65f6\u95f4\uff1a\u6bcf\u5929\u51cc\u6668 02:00<br \/>\n\u91cd\u542f\u811a\u672c\uff1a \/opt\/bt_restart\/restart_server.sh<br \/>\n\u91cd\u542f\u65e5\u5fd7\uff1a \/var\/log\/bt_reboot.log<br \/>\n\u914d\u7f6e\u65e5\u5fd7\uff1a \/var\/log\/bt_daily_restart.log<\/p>\n<p>\u5e38\u7528\u7684\u7ba1\u7406\u547d\u4ee4<\/p>\n<div class=\"enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-linenumbers enlighter-overflow-scroll\">\n<div class=\"enlighter-toolbar\">\n<div class=\"enlighter-btn enlighter-btn-window\"># \u67e5\u770b\u5b9a\u65f6\u4efb\u52a1<\/div>\n<\/div>\n<div class=\"enlighter\">\n<div class=\"\">\n<div><span class=\"enlighter-text\">crontab -l<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u67e5\u770b\u91cd\u542f\u65e5\u5fd7<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">tail -f \/var\/log\/bt_reboot.<\/span><span class=\"enlighter-m3\">log<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u624b\u52a8\u6267\u884c\u91cd\u542f<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">\/opt\/bt_restart\/restart_server.<\/span><span class=\"enlighter-m3\">sh<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-c0\"># \u5220\u9664\u5b9a\u65f6\u4efb\u52a1<\/span><\/div>\n<\/div>\n<div class=\"\">\n<div><span class=\"enlighter-text\">crontab -l <\/span><span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> grep -v <\/span><span class=\"enlighter-s0\">&#8216;\/opt\/bt_restart\/restart_server.sh&#8217;<\/span> <span class=\"enlighter-g0\">|<\/span><span class=\"enlighter-text\"> crontab &#8211;<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>\u8fd0\u884c .\/bt_daily_restart.sh \u5373\u53ef\u5b8c\u6210\u6240\u6709\u914d\u7f6e\uff0c\u670d\u52a1\u5668\u5c06\u5728\u6bcf\u5929\u51cc\u66682\u70b9\u81ea\u52a8\u91cd\u542f\u6240\u6709\u5b9d\u5854\u76f8\u5173\u670d\u52a1\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f7f\u7528\u65b9\u6cd5\uff1a \u5c06\u811a\u672c\u4e0a\u4f20\u5230\u670d\u52a1\u5668 \u8fd0\u884c\u547d\u4ee4\uff1achmod +x &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2234","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts\/2234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/comments?post=2234"}],"version-history":[{"count":1,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts\/2234\/revisions"}],"predecessor-version":[{"id":2239,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts\/2234\/revisions\/2239"}],"wp:attachment":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/media?parent=2234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/categories?post=2234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/tags?post=2234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}