透過 timeout
設定指令最長可以跑多久。
timeout 3s sleep 1 echo "$?" 0 timeout 3s sleep 5 echo "$?" 124
軟體開發、伺服器和生活瑣事
透過 timeout
設定指令最長可以跑多久。
timeout 3s sleep 1 echo "$?" 0 timeout 3s sleep 5 echo "$?" 124
之前看到的 shell script 說明,建立幾乎都是用 `function`:
function show-server-status() { }
被 IDE 糾正以後才知道有規範 (Google 的 style guide),像是不使用 function
宣告、命名原則:
# [a-zA-Z0-9_] only # https://stackoverflow.com/a/28115066 show_server_status() { }
看來該找時間整理一下 scripts 了
先在控制台中啟用 rsync:
啟動後,就可以透過 SSH 來 rsync 資料。
但要注意的是,因為是透過 SSH,所以路徑不是單純的共用資料夾名稱,而是 Synology 掛載 volume 的路徑。若路徑錯誤,會顯示類似下方的錯誤訊息:
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(231) [Receiver=3.2.7]
以下圖來說,profile
資料夾是位於 儲存空間 2
,因此實際路徑會是 /volume2/profile
:
路徑確認後,就可以讓 rsync 跑起來:
rsync -av --partial --progress \ -e 'ssh -p 2121' \ ./data johnroyer@my.synology:/volume2/profile/backup
記錄各家優酪乳的乳酸菌類型。
義美優酪乳:
統一 AB 優酪乳:
統一 LP33 機能優酪乳
福樂 自然零
光全
林鳳營益生菌優酪乳
Alpine Linux 主要是透過 apk 來管理套件。
新增套件:
apk update && \
apk add build-base autoconf automake && \
cd /path/to/source && \
make install && \
rm -fr /var/cache/apk/* && \
rm -fr /tmp/*
離開前要記得 rm -fr /var/cache/apk/*
清除暫存檔。
也可以使用 apk add --no-cache
安裝套件,這樣就不需要考慮暫存檔:
apk add --no-cache build-base autoconf automake &&
....