發表文章

Shell Script 刪除資料庫想刪的資料

 因公司資料庫有幾千筆資料想要刪除,一筆一筆手動刪除太不科學了,所以用 shell script 輕鬆刪吧! 以下是以刪除 mail 為例子 vim delmail.sh #!/bin/bash cat ~/delmail.txt | while read output; do     mysql -u帳號 -p密碼 資料庫名稱 -e"DELETE FROM 要刪除資料的表 WHERE email='$output'" done 存檔 chmod +x delmail.sh 編輯 delmail.txt 一行一組 email 完成後就可以執行 delmail.sh 輕鬆愉快!

Windows 「指定的檔名無效或太長,請指定其他檔名」

圖片
 今天同事下載了一份報名表,填完資料要印出之後要把檔案刪除卻刪不掉,於是就找到我了 研究了一下檔案是正常的,也可以打開,但就是無法刪除。 一般來說檔案刪不掉大部分都是檔名太長超過微軟的限制或是檔名裡有一些奇怪的符號,怎麼處理呢,請先開一個記事本打上以下 2 行 DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 另存成 bat 檔,例:del.bat 然後把要刪除的檔案用滑鼠「拉」到 del.bat 上用 del.bat 開啟,就 OK 了。 說明: DEL 刪除檔案,命令參數: del /? /F:表示強制刪除 /A:選擇檔案的屬性 /Q:安靜模式,不會跳出提示訊息就刪除 /S:連帶刪除子目錄下的檔案 %1 代表指定的項目 (又稱物件、對象)。可包含磁碟機代號和完整路徑,必要時加引號。 將檔案或目錄,拖曳到命令提示符視窗,傳入 %0 本身。因從腳本執行,傳入項目成為 %1。 操作時,使用 UNC 路徑。\\?\ 代表這台電腦,可用來繞過系統的某些檢查。 RD 刪除目錄,命令參數: rd /? /Q:安靜模式,不會跳出 提示訊息就刪除 /S:連帶刪除子目錄下的檔案 Enjoy every day !!

Windows Mozilla Thunderbird LDAP設定

圖片
 公司 mail 收發是用 Mozilla Thunderbird 這套軟體,因公司人員流動率滿高的,故 mail 名單經常變動,為解決名單經常變動問題,今天就利用 Thunderbird 有支援 LDAP 來解這個問題。 首先點選 「工具」 → 「設定」 點選 「編輯」然後下拉到 「地址」把 「目錄伺服器」 打勾,然後點 「編輯目錄」 點 「新增」 名稱:隨便,好記為主。例:LDAP 主機名稱:伺服器名稱或IP,例:192.168.1.146 Base DB:看你公司原本的 LDAP 域名,例:dc=www,dc=google,dc=com Port:預設389就行或是看你 LDAP SERVER 原本設定的port Bind DN:空白 使用安全連線:因公司內部使用無對外就不勾了 設定完點 「確定」 回到 「編輯」把剛剛設定的點選出來 這樣就完成了,接下來驗証看有沒有正確的設定了。 點選 「通訊錄」→ 「LDAP」 在 「搜尋欄」 隨便打上一個字,如果有跑相關的姓名或 email 出來,代表設定成功了。 又是值得開心的日子!

用Windows command line 做程式看門狗

圖片
 公司的應用軟體不明原因自已關閉,造成困懮,為解決自已關閉問題在還沒找出原因之前,先想了一個暫時解套的方法。以下以 Firefox 做為案例 1. 先找出 Firefox 的執行檔。 2. 編輯一個bat檔,例:test.bat echo off echo ************************************************************* >>c:\log\log.txt echo %date% %time% >> c:\log\log.txt tasklist | find /i "firefox.exe" >nul 2>nul && goto 存在 || goto 不存在 :存在 echo software exists >>c:\log\log.txt goto end :不存在 start "firefox" "C:\Program Files\Mozilla Firefox\firefox.exe" echo restart firefox >> c:\log\log.txt :end echo ************************************************************* >>c:\log\log.txt 存檔,測試 開啟 Firefox 時 log 正常 關閉 Firefox 時 log 正常,並重新啟動了 Firefox ========================================================================= 以下是筆者另外加的,用 Telegram 即時通知程式問題 因為會用到 curl ,所以先去下載  curl  (https://curl.se/windows/),解壓縮放至你想放的地方,例:c:\curl 在:不存在最下方加入這一行 C:\curl\bin\curl.exe -s -X POST https://api.telegram.org/bot<you are token>/sendMessage -d chat_id=<you ...

用 Line 即時通知 Linux 各式警告

圖片
 用 Line 即時通知 Linux 各式警告 前幾天寫了用 Telegram 即時通知機器狀態,但老闆說他沒裝 Telegram 也不想用 Telegram,不能用 Line 就好嗎? 好吧,他來了。 首先要先去 Line 申請權杖(TOKEN), Line Notify  位置 先複製起來備用。 然後到要安裝的機器下載程式  下載頁面 wget https://github.com/moznion/linenotcat/releases/download/0.2.1/linenotcat_linux_amd64_0.2.1 chmod +x linenotcat_linux_amd64_0.2.1 echo "you are TOKEN" > ~/.linenotcat /root/linenotcat_linux_amd64_0.2.1 --config_file=/root/.linenotcat -m 123 測試一下,OK 因為開源,所以無限! 參考: https://github.com/moznion/linenotcat

Windows 10 開機自動登入

圖片
 Windows 10 開機自動登入 Google 大神說 鍵盤快速鍵 「Windows + R」開啟執行視窗,輸入「 netplwiz 」後按一下確定按鈕 開啟後長這個樣子 但我的是長這個樣子阿!!!! 還好透過機碼可以修正這個問題 1. 按 Win + R 快捷鍵打開執行,並輸入 regedit 2. 打開登錄編輯程式後,於路徑中輸入「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device DevicePasswordLessBuildVersion」 3. 點兩下打開 DevicePasswordLessBuildVersion 4. 把數值改成 0 再次使用 鍵盤快速鍵 「Windows + R」開啟執行視窗,輸入「 netplwiz 」後按一下確定按鈕,終於跑出來了。 勾勾取消,按套用,打上「user」的密碼,確定。 重開機,測試OK。 又是開心的一天!

用 Telegram 即時通知 Linux 各式警告

圖片
 因公司所有機器都是自建,難免會有故障發生,在故障發生之前可以用 cron 定時監測機器各項數據,減少各項服務中止的情事發生。 𢪙 google 大神,以下為實做案例。 首先先在 Telegram 的 BotFather 創一個 bot 機器人 這時畫面中我們會拿到一組 HTTP API 請先復製起來,接著去左上搜尋我們剛建好的bot名字, 並隨便打個字上去 接著在瀏覽器上打上 https://api.telegram.org/bot<TOKEN>/getUpdates  我們會得到以下畫面,其中的 id 就是我們要的的資訊,請復製起來 得到 id 跟 TOKEN 後就可以讓我們的機器透過 cron 幫我們自動監測狀態啦。 例如,讓他每天幫我們檢測硬碟是不是好的 vim chk-disk.sh ===================================================== #!/bin/bash TOKEN=61947xxxxx:xxxxxxxxxxxxxxxxxxxxWOd_LxbJy1oxG-M CHAT_ID=1013xxxxxx URL="https://api.telegram.org/bot$TOKEN/sendMessage" IP="$(hostname -I)" NOW=$(date +"%e %b %Y, %a %r") HOSTNAME=$(hostname) a=PASSED b=$(smartctl -a /dev/sda2 |grep result: |awk {'print $6'}) if [ "$a" = "$b" ]; then MESSAGE="ALERT - '$IP' '$HOSTNAME' on '$NOW'  HDD is not Good!" curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE" fi ====================================================...