中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux操作系統腳本格式問題導致腳本無法執行怎么辦

發布時間:2021-12-14 16:26:06 來源:億速云 閱讀:895 作者:柒染 欄目:開發技術

Linux操作系統腳本格式問題導致腳本無法執行怎么辦,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

    最近,在做一個mysql的mgr+proxysql的集群初始化工作。在proxysql部署完成,開啟proxysql的自動探測mysql集群運行狀態時,proxysql后臺日志報錯提示:無法執行腳本,腳本文件或路徑不存在,但是通過linux的命令ls -l查看報錯的文件路徑是正確的,見了鬼。無奈之下,手工運行腳本也報錯命令或文件不存在:-bash: ./gr_sw_mode_checker.sh: /bin/bash^M: bad interpreter: No such file or directory。但是,看到了^M,太熟悉了,vi查看了下文件的格式,竟然是dos格式的,然后格式化成unix格式的,proxysql重于能調取到腳本,簡直要淚奔的感覺。

    問題處理過程記錄如下,以待后查:

    1、proxysql開啟scheduler后,后臺日志提示調取腳本失敗

[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操作系統層查看腳本所在路徑是否存在

[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卻說找不到腳本。在此之前發生過,如果腳本沒有執行權限時,

proxysql會報權限拒絕:

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、自我反省,將實施方案看了無數變,又對照部署環境檢查了好幾遍,沒發現任何異常,proxysql就是調取腳本失敗,

實在是無奈呀,自己手工執行腳本,奇怪的是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,終于找到了問題的癥結,原本我是從網頁上復制下來的腳本代碼用UE編輯的,

腳本格式是DOS格式的,在unix或linux平臺上需要轉換成unix格式的。

    4、問題處理,使用vi編輯器,格式化腳本

--vi 腳本名稱,輸入shift+:,然后輸入set ff?回車,查看腳本格式

Linux操作系統腳本格式問題導致腳本無法執行怎么辦

--set ff?回車后顯示是dos格式Linux操作系統腳本格式問題導致腳本無法執行怎么辦

--vi下,將腳本從dos轉換成unix,輸入set ff=unix回車,然后wq保存退出

Linux操作系統腳本格式問題導致腳本無法執行怎么辦

    5、腳本保存后,proxysql調取腳本成功,雖然還有腳本相關的異常,但是不報:no such file or directory了

Linux操作系統腳本格式問題導致腳本無法執行怎么辦

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德江县| 都匀市| 磴口县| 班玛县| 祥云县| 长沙市| 龙泉市| 阜城县| 汨罗市| 凉山| 宜黄县| 奎屯市| 枣庄市| 吉木乃县| 郓城县| 自治县| 五原县| 峡江县| 松阳县| 拜泉县| 木兰县| 新营市| 寿宁县| 连城县| 新晃| 民勤县| 安西县| 永善县| 肥城市| 宝山区| 宿州市| 漾濞| 凤凰县| 浮山县| 白水县| 含山县| 安宁市| 家居| 濮阳市| 托克逊县| 宁城县|