whois 查詢有時會查不到資料:
$ whois mail.google.com No match for "MAIL.GOOGLE.COM".
可能是查詢時使用的 server 沒有該 domain 的資料。
這時可以直接到 IANA 的 server 查詢:
whois -h whois.iana.org mail.google.com
軟體開發、伺服器和生活瑣事
whois 查詢有時會查不到資料:
$ whois mail.google.com No match for "MAIL.GOOGLE.COM".
可能是查詢時使用的 server 沒有該 domain 的資料。
這時可以直接到 IANA 的 server 查詢:
whois -h whois.iana.org mail.google.com
Laravel 的 queue worker 與 Horizon 需要透過 artisan queue:work
在背景執行,若可以的話,再使用 systemd 或 supervisor 來監控運作狀態。
不過 systemd 和 supervisor 都需要 root 權限來操作,說起來蠻麻煩的,所以寫了一小段 shell script 來啟動與停止,沒辦法在 worker 中斷時 restart,但可以做 graceful start & shutdown。
啟動 queue worker:
./artisan queue:work \ --no-interaction --no-ansi >> storage/logs/queue.log 2>&1 & # 透過 $? 來檢查指令執行是否成功 if [ $? -ne 0 ]; then echo "FAILED !" else echo "OK" fi
停止所有的 queue worker:
# queue:restart 會送訊號給所有的 worker 來 graceful shutdown ./artisan queue:restart --quiet --no-ansi # 檢查是否所有的 proccess 都停止 while [ 1 ]; do QUERY="$(ps -ef | grep queue:work | grep -v grep)" if [ -z "${QUERY}" ]; then break else sleep 1 fi done echo "OK"
Laravel Horizon 的操作相對簡單一些。
啟動 Horizon:
./artisan horizon \ --quiet --no-interaction --no-ansi >> storage/logs/horizon.log 2>&1 & if [ $? -ne 0 ]; then echo "FAILED !" else echo "OK" fi
停止 Horizon:
artisan horizon:terminate --quiet --no-interaction --no-ansi # 檢查 proccess 是否終止 while [ 1 ]; do QUERY="$(ps -ef | grep horizon | grep -v grep)" if [ -z "${QUERY}" ]; then echo "OK" else sleep 1 fi done
在 CloneZilla 中看到 zstd 這個壓縮工具,其演算法由 Facebook 開發,速度和壓縮比介於 gzip 和 bzip2 之間,且支援 multi-thread,打包大量資料時蠻好用的。
使用 tar
時,使用 -I
參數來使用 zstd
:
tar -I zstdmt -cf pack.tar.zst logs/
備註:zstdmt
是 zstd -T0
的 alias
wait-for-it 是個 shell script 撰寫的工具,會等待並檢查目標是否可以進行 TCP 連線。
例如等待 mysql 啟動:
$ wait-for-it 127.0.0.1:3306 wait-for-it: waiting 15 seconds for 127.0.0.1:3306
可以在 docker 中檢查其他 container / service 是否啟動,可以的話才繼續執行:
# wait for MySQL to initialize wait-for-it db:3306 # run DB migration php artisan migrate
VMware Workstation 跑 Windows 11 慢到一個不可思議,VM host 的處理器顯視為滿載,但 VM guest 卻一直卡住不會動。追了很久,才發現是 Slimbook Battery 調整過顯卡的參數,導致 VMware 無法正常模擬顯卡。
解法有二個,最直接的方法就是關閉 Slimbook Battery 的省電功能;另一個是暫時將 VM host 的 3D accelerator 功能關閉。