by Rain Chu | 4 月 27, 2026 | Linux, Ubuntu
最近有需要作下指令壓縮,並且把 wordpress 容器化的需求,所以要排除原有舊網站上的 wordpress 的主要程式,以及 wordpress 的使用者上傳的檔案,可以用下面的指令來作排除, 只要在後面加入 +x ,以及要排除的目錄名稱,記得最後面要加入 * 即可
zip -r wordpress.zip /var/www/wordpress/wp-content -x "/var/www/wordpress/wp-content/uploads/*"
by Rain Chu | 2 月 4, 2025 | Linux, Ubuntu
當你使用VM的時候,常常會預估錯誤硬碟的大小,預留太小的空間,要增加空間可以用以下的方法
1.在 VM 管理中先增大硬碟空間
2.確認分割區大小
3.下載擴展工具
sudo apt update && sudo apt install cloud-guest-utils -y
4.使用 growpart 將硬碟擴展大最大空間
by rainchu | 12 月 24, 2024 | Linux, Ubuntu, Windows
Wubuntu(全名為 Windows Ubuntu)是一款基於 Ubuntu 的作業系統,在提供與 Microsoft Windows 相似的主題和工具,但不需要高規格的系統要求,並且可以在 linux 環境下使用 exe 檔案和 Android 應用,也可以支援 Nvidia 顯卡和繁體中文。
Wubuntu
主要特色:
- Windows 應用程式相容性:透過優化的 Wine,讓Wubuntu 能夠順暢地執行多種 Windows 平台的應用程式。
- Android 和 PlayStore 相容性:內建的 Android 子系統允許直接從 PlayStore 安裝遊戲和應用程式。
- 適用於舊硬體設備:Wubuntu 不需要特殊的硬體要求,只需裝置支援 64 位元即可。
最新版本:
Wubuntu 的最新版本基於 Kubuntu 24.04.1 LTS,代號為「Winux」或「Windows Theme Over Linux」。
硬體需求:
- 64 位元雙核心 CPU
- 2 GB 記憶體(建議 4 GB)
- 20 GB 硬碟空間(建議使用 SSD)
PowerTools:
這是一組工具,提供類似於 Windows 系統的控制面板和設定,以及增強的 Windows 和 Android 子系統支援,還可以上網用 OneDrive 和 Google Drive。
下載與支援:
使用者可以透過官方網站下載 Wubuntu 的最新版本,安裝檔案是 ISO 檔案,是可以用 VM 安裝或是用 USB 隨身碟安裝。
採用 Hyper-V
開機的安全性選項要選擇 Microsoft UEFI
注意事項:
Wubuntu 可能涉及一些版權和商標問題,以及使用者資料處理方面的爭議。
by Rain Chu | 6 月 26, 2024 | Linux, MariaDB, Ubuntu, 資料庫
今天來實做一個備份任務,要在 Ubuntu 上設定每日凌晨 4:00 自動備份 MariaDB 中的所有資料庫,我們可以使用 cron 和一個自定義的 Shell 腳本來完成這個任務,以下是詳細步驟和代碼:
步驟 1:創建備份腳本
先創建一個備份 Shell Script,這個腳本將備份所有資料庫並分開儲存。
1.在 /usr/local/bin 目錄下創建一個新的 Shell 腳本:
sudo nano /usr/local/bin/backup_mariadb.sh
2. Script 的內容指令如下
#!/bin/bash
# 設定資料庫的用戶名和密碼
DB_USER="your_db_user"
DB_PASSWORD="your_db_password"
DB_HOST="10.0.0.1"
# 設定備份儲存目錄
BACKUP_DIR="/path/to/backup/dir"
mkdir -p $BACKUP_DIR
# 獲取當前日期和時間
CURRENT_DATE=$(date +%Y-%m-%d-%H-%M-%S)
# 獲取所有資料庫名稱
DATABASES=$(mysql -h$DB_HOST -u$DB_USER -p$DB_PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database)
# 備份每個資料庫
for DB in $DATABASES; do
if [[ "$DB" != "information_schema" && "$DB" != "performance_schema" && "$DB" != "mysql" && "$DB" != "sys" ]]; then
BACKUP_FILE="$BACKUP_DIR/$CURRENT_DATE-$DB.sql"
mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASSWORD --databases $DB > $BACKUP_FILE
fi
done
其中要修改的有
- DB_HOST : 要改成自己的
- your_db_user : 資料庫中有備份權限的使用者 ID
- your_db_password : 密碼
- BACKUP_DIR=”/path/to/backup/dir” : 要改成你要存放的路徑,像是 /var/backup_db/
3.將 .sh 變成可執行擋
sudo chmod +x /usr/local/bin/backup_mariadb.sh
步驟 2:設置 Cron 任務
1.打開 cron
2.加入設定內容,要注意的是實間是主機時間,通常主機是 UTC+0 的時區,要注意轉換,才會是正確的當地時間,可以參考這篇
0 4 * * * /usr/local/bin/backup_mariadb.sh
這樣就會在每天的早上四點去備份資料庫了
加入每一個SQL檔案都可以被壓縮的功能
程式碼區塊要改成下面這一個
# 備份每個資料庫並壓縮
for DB in $DATABASES; do
if [[ "$DB" != "information_schema" && "$DB" != "performance_schema" && "$DB" != "mysql" && "$DB" != "sys" ]]; then
BACKUP_FILE="$BACKUP_DIR/$CURRENT_DATE-$DB.sql"
ZIP_FILE="$BACKUP_DIR/$CURRENT_DATE-$DB.zip"
mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASSWORD --databases $DB > $BACKUP_FILE
zip $ZIP_FILE $BACKUP_FILE
rm $BACKUP_FILE
fi
done
刪除舊資料
可以利用下面的指令,放在程式碼的最後面
# 刪除兩天前的備份文件
find $BACKUP_DIR -type f -name "*.zip" -mtime +2 -exec rm {} \;
需要改時間的話,只要修正 -mtime +2 ,把+2改成自己需要的時間
參考資料
https://help.ubuntu.com/community/CronHowto
by Rain Chu | 6 月 12, 2024 | Linux
Linux 的 find 指令是一個非常強大而且必定要學習的工具,用於在文件系統中搜索符合特定條件的文件或目錄。以下想要介紹這個指令,通過各種參數和選項來定制搜索條件,讓你能夠精確地找到所需的文件。
基本語法
find 指令的基本語法如下:
- 路徑:指定
find 指令開始搜索的目錄。如果不指定,默認為當前目錄。
- 選項:定義搜索的條件,例如按文件名、文件類型、修改時間等。
- 動作:對搜索結果執行的操作,如列印文件名、刪除文件等。如果不指定動作,默認動作是列印所有找到的文件的路徑。
常用選項
- 按名稱搜索:
-name 'pattern':搜索文件名匹配指定的模式的文件。模式可以包含通配符,如 * 和 ?。
- 示例:
find /home/user -name '*.txt'
- 按類型搜索:
-type f:僅搜索文件。
-type d:僅搜索目錄。
- 示例:
find /var/log -type f
- 按修改時間搜索:
-mtime +n:搜索在 n 天之前被修改過的文件。
-mtime -n:搜索在最近 n 天內被修改過的文件。
- 示例:
find / -mtime -10
- 按大小搜索:
-size +n:搜索大於 n 單位的文件。單位可以是 k(KB)、M(MB)、G(GB)。
-size -n:搜索小於指定大小的文件。
- 示例:
find / -size +100M
常用動作
-print:輸出匹配文件的完整路徑(這是默認動作)。
-delete:刪除找到的文件。
-exec cmd {} \;:對找到的每個文件執行指定的命令。{} 是一個占位符,代表當前找到的文件名。
- 示例:
find /tmp -type f -mtime +30 -exec rm {} \;
最常使用的動作
搜尋整個硬碟中大於100MB的log檔案(不分大小寫),並且把她刪除
find / -type f -size +100M -iname "*.log" -delete
使用案例
尋找並刪除 30 天前的臨時文件:
find /tmp -type f -mtime +30 -delete
尋找特定大小的日誌文件並列出詳細信息:
find /var/log -type f -size +50M -exec ls -lh {} \;
尋找所有 JPG 文件並複製到另一個目錄:
find /home/user/Pictures -name '*.jpg' -exec cp {} /home/user/Backup/ \;
find 完整參數
- -mtime : 搜尋檔案的修改時間(天)
- -mmin : 搜尋檔案的修改時間(分鐘)
- -ctime : 搜尋檔案的建立時間(天)
- -cmin : 搜尋檔案的建立時間(分鐘)
- -atime : 搜尋檔案的最後開啟時間(天)
- -amin : 搜尋檔案的最後開啟時間(分鐘)
- -size : 搜尋檔案的大小
- -name : 搜尋檔案名稱(有分大小寫)
- -iname : 搜尋檔案名稱(不分大小寫)
- -type f : 只搜尋“檔案”
- -type d : 只搜尋“目錄”
- -exec <cmd> {} \; : 把搜尋結果導向指令來執行
- -user : 搜尋特定使用者的檔案或目錄
- -o : 邏輯運算為「或」的意思
- -print : 將結果印出於螢幕
參考資料
https://www.redhat.com/sysadmin/linux-find-command
by Rain Chu | 5 月 21, 2024 | Linux, SERVER, Windows
如今的網站管理,一個強大且易於使用的主機管理器是不可或缺的。堡塔面板(BT.CN)用其簡潔的介面以及豐富的功能,成為了多數中文為主的站長們和開發者的首選工具之一。
今天將詳細介紹寶塔面板的功能特點,特別是其WAF(Web應用防火牆)功能,以及它為何被譽為好用且美觀的主機管理器。
寶塔面板概述
堡塔面板,簡稱BT,是一款免費的Linux/Windows伺服器管理軟件。它通過簡潔的Web介面,幫助用戶輕鬆管理伺服器上的網站、資料庫、FTP、SSL等服務。無論是初學者還是專業運維人員,都能快速上手並高效地管理伺服器。
如何下載以及安裝
https://www.bt.cn/new/download.html
產品線分為面板、WAF、安全模組、日誌分析、手機APP管理模組
功能特點
- 簡潔易用的介面 寶塔面板的介面設計簡潔明瞭,用戶可以通過圖形化介面輕鬆進行各種操作。無需複雜的命令行輸入,即使沒有太多技術背景的用戶也能快速掌握。
- 多種環境支持 寶塔面板支持多種主流環境的安裝和管理,包括LAMP、LNMP、Tomcat等。用戶可以根據需求選擇不同的運行環境,並進行一鍵部署。
- 豐富的插件系統 寶塔面板提供了豐富的插件,涵蓋了網站管理、性能優化、安全防護等多個方面。例如,Memcached、Redis等緩存插件,以及PhpMyAdmin等資料庫管理工具,都可以通過寶塔面板方便地安裝和管理。
- 高效的運維管理 寶塔面板集成了多種運維管理工具,如日誌查看、監控報警、數據備份等。用戶可以實時監控伺服器狀態,並及時處理各種異常情況,提高運維效率。
- 免費版本方案 寶塔面板提供免費版本,對於大多數小型網站和個人開發者來說,免費版本已經能夠滿足基本需求。免費版本包含了核心功能,如網站管理、資料庫管理、FTP管理等,讓用戶在不花費成本的情況下也能享受到寶塔面板的強大功能。
WAF(Web應用防火牆)
WAF是寶塔面板的一項重要安全功能。它能夠有效地保護網站免受各種網路攻擊,如SQL注入、XSS攻擊、文件包含等。以下是寶塔面板WAF功能的幾個亮點:
- 規則靈活 寶塔面板的WAF規則庫豐富且靈活,用戶可以根據實際需求自定義規則,精確防禦各種攻擊。同時,寶塔面板會定期更新規則庫,確保最新的安全防護能力。
- 實時監控與報警 WAF提供實時監控功能,可以實時檢測並阻止攻擊行為。同時,系統會通過郵件、短信等方式及時通知管理員,以便快速響應和處理。
- 詳細的日誌記錄 WAF會記錄所有的攻擊日誌,用戶可以通過日誌查看詳細的攻擊信息,包括攻擊來源、攻擊類型、攻擊時間等。這些信息對於後續的安全分析和優化具有重要參考價值。
進階服務-付費升級
有分免費版(基礎功能,管理功能,資源監控)、專業版(專業功能,多數是防火牆)、企業版(增強功能,進階安全防護功能)
https://www.bt.cn/new/pricing.html
近期留言