Tag: Shell Script

Shell Script 修改 Linux 帳號密碼

要在 Shell Script 修改系統密碼, 在 Linux 可以用 passwd 及 chpasswd 完成, 做法是用一行修改密碼的指令, 再放入 Shell Script, 它們的用法分別是: passwd passwd 的作用是修改密碼, 但一般用法是用互動模式修改, 以下是用 passwd 的 –stdin 參數, 讀入管線 (pipe) 輸入修改: 上面指令修改用戶 …

Shell Script 讀取檔案後逐行印出

在 Shell Script 要讀入檔案內容,並一行一行地做處理,或者簡單一行一行印出內容,可以用 read 語法,具體做法是: read_line.sh 上面的 Shell Script 會讀入指令模式輸入的檔案,沒有做任何資料處理,只簡單地逐行印出內容。 使用上,上面 shell script 名為 read_line.sh, 要先給予可執行權限,在指令模式是這樣做: chmod +x read_line.sh ./read_line.sh /etc/passwd 上面就會將 /etc/passwd 傳送給 read_line.sh, 而 read_line.sh 則讀取其內容並逐行印出。雖然這樣看起來沒什麼用處,因為用 …

Shell Script 檢查檔案容量

在 Shell Script 檢查檔案容量, 可以簡單用 stat 完成。 stat 指令的作用是輸出檔案資訊, 比 ls 更加詳細, 以下 shell script 寫法會用 -c 參數放到 stat, 讀取檔案大小: 上面的寫法可以配合 if 做一些判斷, 例如檔案過大等, 如果不需要做判斷, 而是想得出較可讀的檔案容量 (即包括如 K, M, …

Linux 及 Windows 文字案轉換

在 Linux 及其他 Unix Like 作業系統與Windows 裡面所儲存的文字檔案,最大分別是換新一行的顯示。Linux 會使用 EOL 作為跳行;而 Windows 則會使用 Ctrl-m (^M)。在 Linux 下可以用 dos2unix 及 unix2dos 將 Linux 及 Windows 的文字檔轉換: $ unix2dos unix_text.txt win_text.txt 以上指令就會將 …

透過 shell script 發送 email

如果想用 shell script 發送郵件,可以用 mail 實現: # echo “email content” | mail -s “email subject” you@emaildomain 以上語句會發送一封標題為 “email subject” 的電郵到 you@emaildomain,其中 “email content” 為電郵內容。 以下簡單的兩行 shell script 便會將檔案系統使用量,透過電郵發送給指定的電郵信箱: #!/bin/sh …

MySQL 自動備份 Shell Script

這個是我日常用作備份 MySQL database 的 shell script,因為以前是直接將所有資料庫匯出成一個 sql 檔,當其中一個資料庫有問題時,因為沒問題的資料庫不想有改動,要復原資料很麻煩。今天改了一下,它會用 mysqldump 將所有資料庫匯出成獨立 sql 備份檔,然後用 gzip 壓縮成 .gz 檔案。程式會儲存 5 天的備份,當有新備份時,最舊的備份會自動刪除。 使用方法: 修改 db_user, db_passwd 及 db_host 修改成你的 mysql 登入資料,所使用的用戶權限需要與 mysql root …