# 腳本範例7:連線mysql 查詢資料 ![](https://hackmd.io/_uploads/S1Xiks2Dn.png) ![](https://hackmd.io/_uploads/H1AA1jnDn.png) - 大寫p 伺服器連線port, 小寫p是密碼 - h 主機dmain or ip - -u 使用者名稱 - youbike - db name - vertical 直向輸出 ![](https://hackmd.io/_uploads/BkZugjhw3.png) - 第一行跟第二行執行結果是一樣的,第一行寫法更好 - 錯誤 >系統認為不安全 - use ______ (告訴系統使用這個資料庫) (此範例使用youbike資料庫) ![](https://hackmd.io/_uploads/rJVj-i2wn.png) ![](https://hackmd.io/_uploads/H1hJzi3Ph.png) ![](https://hackmd.io/_uploads/B1pbGohD2.png) - limit (限制只顯示幾筆資料) ![](https://hackmd.io/_uploads/Hkn3MshP2.png) - 前段連線到資料庫, 後段是撈資料 ![](https://hackmd.io/_uploads/S1eRr8Hdn.png) - %%bash 開始 左邊=右邊 這幾個都是宣告變數 (右邊的餵給左邊)左邊是變數 右邊是變數的值 ![](https://hackmd.io/_uploads/SydvvUrO3.png) - ______. sql > 他幫你匯出的資料 變成一個檔, 你要叫這個檔案什麼名字 ![](https://hackmd.io/_uploads/Sk9fD8rdn.png) - myproject 專案備份名稱 ![](https://hackmd.io/_uploads/SJJgKISuh.png) - logfile 第一行 log檔名 - 第二行log路徑 - 第三行 檔名+路徑 - 識別性 重複使用的 > 需要定義變數(為什麼要定義變數 - 777 最大權限 - > 一個箭頭 UPDATE - >>兩個箭頭 是INSERT ![](https://hackmd.io/_uploads/r1dc58Su3.png) - 插入到LOGPATH 這個檔 ![](https://hackmd.io/_uploads/B13ZkwSun.png) - MYSQLDUMP 匯出檔案名稱(固定寫法) ![](https://hackmd.io/_uploads/Hyrn_PHu3.png) ![](https://hackmd.io/_uploads/rJqCdDHdn.png) - COLUMN -STATISTICS=0 > 8.0版本0或以上的固定寫法 (MYSQL的版本 - 練習的是5.7 , 終端是8.033 - 兩台SERVER不一樣所以抓的版本不一樣 ![](https://hackmd.io/_uploads/rkUwKvBu3.png) - 輸出流 > (固定寫法-輸出成一個檔案) 與前面不同 ![](https://hackmd.io/_uploads/rJasYvHO3.png) - 1 -正確 , 2 -錯誤 - >> INSERT - INSERT 到 logpathfile - linux 裡面的壓縮檔都叫 .tar.gz - . 備份到當前本地根目錄 - 2 把錯誤輸出到logpathfile - mv 來源 目的 - cp 來源 目的 - (如果不是在根目錄下 就要指定目錄 # 寄信腳本 https://markweb.idv.tw:23443/ ![](https://hackmd.io/_uploads/SJe2WFr_2.png) ![](https://hackmd.io/_uploads/r1XpZYru3.png) 利用beepro 免費html設計,製作寄信模板,然後再匯入腳本中 ![](https://hackmd.io/_uploads/HkAHN_rd2.png) 下圖為實際執行畫面 ![](https://hackmd.io/_uploads/HJx_hOSd3.png) cat 輸出 htmlemailfile (html模板路徑- 輸出主體 | > 多行指令要一起執行, 用| (pipe)做區隔ˊ ![](https://hackmd.io/_uploads/rJGdCOr_3.png) mail 宣告 --content -type='text/html'' > 宣告email 可以用html 格式做輸出 -s (subject) 新建主旨 $to (寄給誰 -A (大寫 : 表示附件 (find $logpath -name '*.log') 去呼應前面logpath (輩分路徑 name檔案 *(全部 .log 副檔名 name 檔名 ![](https://hackmd.io/_uploads/SyDbJtru3.png) ![](https://hackmd.io/_uploads/SkjK-tSu3.png) **預覽html檔 可以下linux指令觀看(linux 內存放的路徑)**