2026年7月2日 星期四

Task Spooler 使用摘要

Debian 13 安裝
apt install task-spooler

新增任務到佇列
tsp 指令

查看目前佇列狀態
tsp

查看特定任務的輸出
tsp -c jobid

即時追蹤任務輸出
tsp -t jobid

刪除或取消任務
tsp -r jobid

調整任務的優先順序
ts -u jobid

調整並行數量
ts -S 數量


Linux nq 筆記

nq 說明
Linux 輕量、無需設定的命令列任務佇列工具
完全依賴檔案系統鎖(File-system lock)來管理佇列,不需要任何額外的設定或維護。

Debian 安裝
apt install nq

nq 環境變數
NQDIR:存放任務佇列目錄。預設為目前的執行目錄,透過 NQDIR 設定不同的路徑,可以同時管理多個佇列。
NQJOBID:nq 回傳給執行中任務的 Job ID,可用於腳本中追蹤。

使用範例
建立專屬 nq 佇列
export NQDIR="$HOME/nq"; mkdir -p ${NQDIR}

執行方式
export NQDIR="$HOME/nq"
nq ./my-script.sh
nq ./my-script2.sh
nq ./my-script3.sh
nq ./my-script4.sh
nq ./my-script5.sh

查詢目前 nq 佇列 Job
ls -lF ${NQDIR}   ## Ctrl-C 離開不中斷執行

查詢結果說明
-rw-r--r-- 1 root root 47 Jul  2 10:38 ,19f20aeff65.125177   已執行完畢
-rwxr--r-- 1 root root 22 Jul  2 10:38 ,19f20af01e5.125180*  <-* 表示目前正在執行
-rw-r--r-- 1 root root 20 Jul  2 10:38 ,19f20b17894.125225   未執行
-rw-r--r-- 1 root root 20 Jul  2 10:38 ,19f20b17bb4.125228   未執行
-rw-r--r-- 1 root root 20 Jul  2 10:38 ,19f20b17dc3.125231   未執行

,19f20af01e5.125180  <- ,開頭為 nq 狀態檔案,19f20af01e5 Job 送出時間,125180 系統執行的 process id

刪除 nq 佇列 Job ,19f20b17dc3.125231
rm ${NQDIR}/,19f20b17dc3.125231

中斷 nq 佇列 Job ,19f20b17dc3.125231
kill 125231

查詢 nq 佇列 Job ,19f20b17dc3.125231 執行內容或結果
cat  ${NQDIR}/,19f20b17dc3.125231

刪除已執行完畢 nq 佇列Job ,19f20b17dc3.125231
rm ${NQDIR}/,19f20b17dc3.125231

查詢目前  Job 執行狀態
nqtail  # Ctrl-C  離開,不中斷程式

共用 nq 佇列
nqdir=/var/spool/nq
nqgroup=nqusers
mkdir -p ${nqdir}
chown :${nqgrou} ${nqdir}
chmod 2775 ${nqdir}

更多的 指令說明
man nq
man nqtail

2026年6月22日 星期一

Debian13 單機 Queue

Task Spooler
apt install task-spooler

nq
apt install nq

使用 smbnetfs 存取 cifs

安裝
sudo apt update
sudo apt install smbnetfs

在檔案中加入遠端主機的帳密
mkdir -p ~/.smb
cp /etc/smbnetfs.conf ~/.smb/

編輯  ~/.smb/smbnetfs.conf 加入
auth "192.168.1.1" "username" "password"

存取方式
cd ~/nas/192.168.1.1/share_folder

卸載方式
fusermount -u ~/nas

使用 gio / gvfs 存取 CIFS

安裝
sudo apt update
sudo apt install gvfs-backends gvfs-fuse samba-common smbclient

掛載方式
gio mount smb://username@192.168.1.1/share_folder
gio mount smb://DOMAIN\;username:password@192.168.1.1/share_folder

存取方式
cd /run/user/$(id -u)/gvfs/

卸載方式
gio mount -u smb://username@192.168.1.1/share_folder

2026年6月16日 星期二

Linux 使用 tc 將 eth0 封包 mirror 至eth1

清除 eth1 IP 設定混雜模式
sudo ip addr flush dev eth1
sudo ip link set dev eth1 up
sudo ip link set dev eth1 promisc on

設定 tc eth0 進入規則
sudo tc qdisc add dev eth0 handle ffff: ingress
sudo tc filter add dev eth0 parent ffff: protocol all u32 match u32 0 0 action mirred egress mirror dev eth1

設定 tc eth0 流出規則
sudo tc qdisc add dev eth0 root handle 1: prio
sudo tc filter add dev eth0 parent 1: protocol all u32 match u32 0 0 action mirred egress mirror dev eth1

檢查 tc 規則
sudo tc filter show dev eth0 ingress
sudo tc filter show dev eth0 parent 1:

刪除 tc 規則
sudo tc qdisc del dev eth0 handle ffff: ingress
sudo tc qdisc del dev eth0 root

關閉 eth1 的混雜模式
sudo ip link set dev eth1 promisc off

相關 module 
 ifb act_mirred