Linux操作系統(tǒng)腳本格式問題導(dǎo)致腳本無法執(zhí)行怎么辦,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)專注于易縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),成都商城網(wǎng)站開發(fā)。易縣網(wǎng)站建設(shè)公司,為易縣等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)最近,在做一個mysql的mgr+proxysql的集群初始化工作。在proxysql部署完成,開啟proxysql的自動探測mysql集群運行狀態(tài)時,proxysql后臺日志報錯提示:無法執(zhí)行腳本,腳本文件或路徑不存在,但是通過linux的命令ls -l查看報錯的文件路徑是正確的,見了鬼。無奈之下,手工運行腳本也報錯命令或文件不存在:-bash: ./gr_sw_mode_checker.sh: /bin/bash^M: bad interpreter: No such file or directory。但是,看到了^M,太熟悉了,vi查看了下文件的格式,竟然是dos格式的,然后格式化成unix格式的,proxysql重于能調(diào)取到腳本,簡直要淚奔的感覺。
問題處理過程記錄如下,以待后查:
1、proxysql開啟scheduler后,后臺日志提示調(diào)取腳本失敗
[root@mmgrpro1 proxysql]# tail -f proxysql.log
2018-08-01 00:17:28 ProxySQL_Admin.cpp:7947:run_once(): [ERROR] Scheduler: Failed to run /var/lib/proxysql/gr_sw_mode_checker.sh
execve(): No such file or directory
2018-08-01 00:17:31 ProxySQL_Admin.cpp:7947:run_once(): [ERROR] Scheduler: Failed to run /var/lib/proxysql/gr_sw_mode_checker.sh
execve(): No such file or directory
2018-08-01 00:17:34 ProxySQL_Admin.cpp:7947:run_once(): [ERROR] Scheduler: Failed to run /var/lib/proxysql/gr_sw_mode_checker.sh
execve(): No such file or directory
2、linux操作系統(tǒng)層查看腳本所在路徑是否存在
[root@mmgrpro1 proxysql]# ls -l /var/lib/proxysql/gr_sw_mode_checker.sh
-rwxr-xr-x 1 mysql mysql 8292 Jul 31 15:47 /var/lib/proxysql/gr_sw_mode_checker.sh
[root@mmgrpro1 proxysql]#
到這,事情陷入僵局,腳本明明存在,但是proxysql卻說找不到腳本。在此之前發(fā)生過,如果腳本沒有執(zhí)行權(quán)限時,
proxysql會報權(quán)限拒絕:
2018-07-31 16:57:39 ProxySQL_Admin.cpp:7947:run_once(): [ERROR] Scheduler: Failed to run /var/lib/proxysql/gr_sw_mode_checker.sh
execve(): Permission denied
2018-07-31 16:57:44 ProxySQL_Admin.cpp:7947:run_once(): [ERROR] Scheduler: Failed to run /var/lib/proxysql/gr_sw_mode_checker.sh
execve(): Permission denied
2018-07-31 16:57:48 MySQL_Monitor.cpp:1362:monitor_ping(): [ERROR] Server 192.168.10.131:3306 missed 3 heartbeats, shunning it and killing all the connections
2018-07-31 16:57:49 ProxySQL_Admin.cpp:7947:run_once(): [ERROR] Scheduler: Failed to run /var/lib/proxysql/gr_sw_mode_checker.sh
execve(): Permission denied
3、自我反省,將實施方案看了無數(shù)變,又對照部署環(huán)境檢查了好幾遍,沒發(fā)現(xiàn)任何異常,proxysql就是調(diào)取腳本失敗,
實在是無奈呀,自己手工執(zhí)行腳本,奇怪的是bash也報文件不存在:
[root@mmgrpro1 proxysql]# ./gr_sw_mode_checker.sh
-bash: ./gr_sw_mode_checker.sh: /bin/bash^M: bad interpreter: No such file or directory
[root@mmgrpro1 proxysql]# ls -l /var/lib/proxysql/gr_sw_mode_checker.sh
-rwxr-xr-x 1 mysql mysql 8292 Jul 31 15:47 /var/lib/proxysql/gr_sw_mode_checker.sh
[root@mmgrpro1 proxysql]#
但是,我看到了熟悉的面孔/bin/bash^M,終于找到了問題的癥結(jié),原本我是從網(wǎng)頁上復(fù)制下來的腳本代碼用UE編輯的,
腳本格式是DOS格式的,在unix或linux平臺上需要轉(zhuǎn)換成unix格式的。
4、問題處理,使用vi編輯器,格式化腳本
--vi 腳本名稱,輸入shift+:,然后輸入set ff?回車,查看腳本格式
--set ff?回車后顯示是dos格式
--vi下,將腳本從dos轉(zhuǎn)換成unix,輸入set ff=unix回車,然后wq保存退出
5、腳本保存后,proxysql調(diào)取腳本成功,雖然還有腳本相關(guān)的異常,但是不報:no such file or directory了
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
當(dāng)前文章:Linux操作系統(tǒng)腳本格式問題導(dǎo)致腳本無法執(zhí)行怎么辦-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://vcdvsql.cn/article18/jiegp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、移動網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、微信公眾號、關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容