找出當初docker 容器(container)執行的指令(非compose)

 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro assaflavie/runlike  <容器名稱>
docker run --rm -i -v /var/run/docker.sock:/var/run/docker.sock nexdrew/rekcod <容器名稱>

但是這種方式屬於 reverse 方式, 跟原本會有一些失真,但真的沒留下當初執行的指令, 也只好使用這種方式了

Linux shell script 關於array陣列用法

定義一個陣列

declare -a source_dirs_weekly=("2-w3-portal" "2-w3-opt" "2-w3-jtrac" "200-printer" "194-easyflow" "229-fileserver")

也可以醬

declare -a source_dirs_weekly=(
"2-w3-portal" 
"2-w3-opt" 
"2-w3-jtrac" 
"200-printer" 
"194-easyflow" 
"229-fileserver"
)

要取出資料,可以參考以下的設定, 來源為這 https://opensource.com/article/18/5/you-dont-know-bash-intro-bash-arrays

nextcloud清除垃圾桶與過多的檔案編輯版本

修改 config.php

過了31天清除

 'trashbin_retention_obligation' => 'auto,31',
 'versions_retention_obligation' => 'auto,31',

若使用docker安裝, 建議停用容器內建的排程, 改用外面主機, 設定排程自行刪除垃圾桶

# 停用背景排程
docker exec -t -u www-data <container> php occ config:app:set --value=no files_trashbin background_job_expire_trash

docker exec -t -u www-data nextcloud php occ config:app:set --value=no files_versions background_job_expire_versions
# 停用容器內建排程後,改用外面主機定期清除
docker exec -t -u www-data <container> php occ  trashbin:expire --quiet

rclone 掛載sftp 連線過慢, 因此先用sshfs擋著先

RockyLinux

dnf --enablerepo=powertools -y install fuse-sshfs

以下為自動掛載方式,(這樣不是很安全,用rsa-key方式比較好)

echo 密碼| sshfs -o reconnect -o allow_other -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no 帳號@主機:/來源目錄/ 掛載目錄 -o workaround=rename -o password_stdin

增加效能

 -o Ciphers=aes128-ctr -o Compression=no -o ServerAliveCountMax=100 -o ServerAliveInterval=15 

傳輸過程若出現 transport endpoint is not connected 的錯誤

請試著修改 /etc/fuse.conf , 啟用 user_allow_other 選項

ssh 下指令到遠端主機,可無人值守

  • 跟登入指令很像, 後面接指令即可
 ssh root@10.192.130.146 -p 22 'ls -al'
  • 若需要無人值守, 作法之一(但比較不安全), 安裝sshpass
1. 安裝sshpass
redhat,centos,rockylinux
yum install sshpass
ubuntu
apt-get install sshpass
2. 無人值守
sshpass -p 'password' ssh root@10.192.130.146 -p 22 'ls -al'

2024/10/14

記得要先 ssh 登入遠端,像我卡在沒有先登入試試看,忘了輸入yes ,造成sshpass失敗。


1 ... 4 5 6 7 8