eclass Maintenance Workshop 2011 如何由 Windows 工作站遠端登入 eclass 伺服器的 Linux 系統呢? 1. 下載 putty 程式 : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 2. 執行 putty 程式, 在 "Host Name (or IP address)" 欄位輸入 eclass 伺服器的 IP 地址及主機名稱 3. 登入伺服器 : a. 按 Open, 請輸入帳戶名稱, 如 root, 然後按鍵盤 Enter 鍵 b. 輸入密碼 ( 基於保安理由, 你不會看到輸入了多少個字元 ), 然後按鍵盤 Enter 鍵 如密碼不正確, 會出現 "Access denied" 字串 c. 如成功登入, 畫面將顯示提示字元 你可以開始向 Linux 伺服器輸入指令 ( 請聯絡校內的伺服器管理員查詢帳戶名稱及密碼, 請注意英文字母的大小寫將被視為不同字元 ) 第 1 頁
Linux 目錄介紹 Linux 根目錄 : / IP20/IP25 系統預設路徑 : /home/eclass Junior 系統預設路徑 : /home/junior Linux 一般系統設定路徑 : /etc MySQL 資料庫 : /var/lib/mysql 如己安裝以下模組 : ifolder: /home/iusers Imail plus / Imail (IP25 互聯網版本 ): /home/domains, /var/spool/postfix, /usr/local/slockd Imail (IP20/EJ50/EJ45 互聯網版本 ): /etc, /home/iusers, /var/spool/mail Linux 基本指令 man: 查詢某個指令的輔助說明 (e.g. man ls) ls: 列出檔案資訊 類似 dos 之 dir (e.g. ls -al) pwd: 顯示目前工作目錄路徑 cd 子目錄名稱 轉移目錄 ( 類似 dos 之 cd) (e.g. cd /home/eclassbackup 轉移工作目錄到 /home/eclassbackup cd ~ 回自家目錄, 如以 root 登入, 即代表回到 /root) cd.. 為上一層目錄 第 2 頁
分隔符號為 / 非 dos 的 \) mkdir: 建立子目錄 (e.g. mkdir /home/eclassbackup/temp) df: 查詢硬碟使用量 (e.g. df -h) du: 查詢檔案或目錄的磁碟使用空間 (e.g. du -sh /home/eclass) Linux 內建檔案備份工具 tar:linux 內的封存工具 (e.g. tar czvf file.tar.gz /home/eclass) mysqldump:mysql 備份工具例如 : 單一資料庫 : mysqldump -p -uroot dbname > dbname.sql 所有資料庫 : mysqldump -p --complete-insert --extended-insert="false" --single-transaction --all-databases > eclassdb.sql nano: 文字處理工具 ( 例如 : nano -w /home/eclassbackup/ SystemBackupConfig) 輔助功能 : [Ctrl]+w: 搜尋 [Ctrl]+o: 寫入 [Ctrl]+x: 離開 第 3 頁
top: 查看系統狀態 ifconfig: 網絡設定工具 cp: 複製檔案 ( 類似 dos 之 copy) (e.g. cp -pr /home/eclassbackup/systembackup.sh test.sh ) rm: 請加倍小心處理刪除檔案或目錄, 錯誤刪除的檔案將不能回復 ( 刪除目錄 : rm -rf /home/eclassbackup/temp) 參考網址 : nano 教學 : http://www.gentoo.org/doc/zh_tw/nano-basics-guide.xml Linux 指令集 : http://www.pcnet.idv.tw/pcnet/linux/linux_command.htm 鳥哥的 Linux 私房菜 : http://linux.vbird.org/ This directory of Linux commands: http://onlamp.com/linux/cmd/ 系統備份 學校同工請注意, eclass ip2.5 跟 eclass ip20 / eclass Junior 使用不同的備份程式. 請按照學校使用的系統版本下載合適的備份指引 : http://support.broadlearning.com/doc/help/portal/ 第 4 頁
備份後請緊記將備份檔複製到別的電腦中, 可使用 Winscp 透過網絡複製或刪除備份. http://winscp.net/eng/download.php, 複制完成後, 請使用 md5sum 檢查檔案複製後的完整性. 在 windows 環境下, 請到 download.com 下載 md5summer 工具, 比對檔案的 md5sum 以確 保備份檔沒有於網絡傳輸過程中損毁. 備份快速教學備份 IP25 系統 : 登入 eclass 伺服器, 執行以下指令 (eclass 系統將暫停並禁止登入 ) cd /home/eclassbackup/ chmod u+x SystemBackup.sh #( 設定檔案權限為 可執行 )./SystemBackup.sh -f #( 如己曾設定 SystemBackupConfig, 請絕不要重新執行 ) nano -w SystemBackupConfig #( 修改備份設定 )./SystemBackup.sh SystemBackupConfig 備份 EJ45/50 系統 : 登入 eclass 伺服器, 執行以下指令 (eclass 系統將暫停並禁止登入 ) cd /home/juniorbackup./systembackup.sh mysql /var/lib/mysql/./systembackup.sh junior /home/junior/./systembackup.sh etc /etc 第 5 頁
設定自動定時備份 crontab -l # 列出己設定的定期工作 crontab -l > cronjob # 將現時工作導入文字檔 cronjob nano -w /root/cronjob # 修改文字檔案 cronjob #IP25 0 3 * * * /home/eclassbackup/systembackup.sh /home/eclassbackup/systembackupconfig #EJ 0 3 * * * cd /home/juniorbackup/; /home/juniorbackup/systembackup.sh mysql /var/lib/mysql 10 3 * * * cd /home/juniorbackup/; /home/juniorbackup/systembackup.sh etc /etc 20 3 * * * cd /home/juniorbackup/; /home/juniorbackup/systembackup.sh junior /home/junior crontab /root/cronjob # 匯入定時備份工作 crontab -l # 列出己設定的定期工作 備份驗證 如何檢查 eclass IP2.5 系統是否正確備份? http://support.broadlearning.com/doc/help/faq/ IP2.5 備份檔案包含檔案備份 (.tar 格式檔案 ) 及資料庫備份 (.sql 格式檔案 ) 兩種 tar 備份檔 : 使用分割如你在備份設定檔案 (SystemBackupConfig) 有選擇檔案分割, 你會看到一系列備份檔案, 結尾由 _aa 至 _zz, 有多少個檔案視乎數據多少而定 另外, 你會發現一個.sh 檔案 這一個.sh 程式檔案是用於組合出一個完整的.tar 檔 當你發覺沒有.sh 程式檔案, 這代表備份不完整 第 6 頁
當硬碟有足夠可用空間 ( 可用指令 "df -h" 檢查可用空間 ), 你可以執行前述的.sh 程式檔案以組合完 整的.tar 檔 例 : 執行 "sh./full_backup_eclasssystem_20111013_0300.tar.sh" 你會發現產生了一個 "Full_backup_eClassSystem_20111013_0300.tar" 檔 然後, 你可以使用 tar 指令檢查檔案 : 例 : "tar tvf Full_backup_eClassSystem_20111013_0300.tar" 第 7 頁
當你看到任何錯誤訊息, 即代表備份可能已損壞 tar 備份檔 : 不使用分割如你在備份設定檔案 (SystemBackupConfig) 沒有選擇檔案分割, 你只會看到一個.tar 檔案 你不用重新組合備份檔, 即可以同樣使用 tar 指令檢查備份 : 例 :"tar tvf Full_backup_eClassSystem_20111013_0300.tar" sql 備份檔 MySQL 資料庫備份方面, 你可利用指令 : "tail <MySQL 備份 >.sql" 檢查 sql 檔案最尾 10 行資料, 正常情況下你會看到 "Dump Completed" 字串 如發現沒有 "Dump Completed" 字串, 即表示 MySQL 資料庫備份不完整 第 8 頁
另一方面, 假使發現 "Dump Completed" 字串, 亦要留意.sql 檔案的大小 如 eclass 系統已使用 一段時間,.sql 亦不應小於 10MB 如遇上這情況, 請聯絡 Broadlearning 跟進 預設定時備份 如何檢查 eclass Junior 系統是否正確備份? eclass Junior 檔案備份跟資料庫備份均使用.tar.gz 格式檔案. eclass Junior 預設路徑 : /home/junor Mysql 資料庫預設路徑 : /var/lib/mysql tar 備份檔 : 使用分割如你在備份設定檔案 (SystemBackup.sh) 有選擇檔案分割, 你會看到一系列備份檔案, 結尾由 _aa 至 _zz, 有多少個檔案視乎數據多少而定 另外, 你會發現一個.sh 檔案 這一個.sh 程式檔案是用於組合出一個完整的.tar 檔 當你發覺沒有.sh 程式檔案, 這代表備份不完整 當硬碟有足夠可用空間 ( 可用指令 "df -h" 檢查可用空間 ), 你可以執行前述的.sh 程式檔案以組合完整的.tar.gz 檔 例 : 執行 "sh./ Full_backup_junior_20111219_1545.tar.gz.sh" 你會發現產生了一個 " Full_backup_junior_20111219_1545.tar.gz" 檔 然後, 你可以使用 tar 指令檢查檔案 : 例 : "tar tzvf Full_backup_junior_20111219_1545.tar.gz" 第 9 頁
當你看到任何錯誤訊息, 即代表備份可能已損壞 tar 備份檔 : 不使用分割如你在備份設定檔案 (SystemBackup.sh) 沒有選擇檔案分割, 你只會看到一個.tar.gz 檔案 你不用重新組合備份檔, 即可以同樣使用 tar 指令檢查備份 : 例 :"tar tzvf Full_backup_junior_20111219_1545.tar.gz " 檢視儲存空間使用情況 如何知道 eclass 伺服器的硬碟使用狀況呢? 參考 : http://support.broadlearning.com/doc/help/faq/ 1. 登入 eclass 伺服器的 Linux 系統 2. 利用 "df -h" 指令列出各 partition 的使用量 ~ 完 ~ 第 10 頁