linux 掛載(mount) cifs(windows網路)效能調整
mount cifs -o username=”帳號”,password=”密碼”,domain=”網域”,cache=loose <source dir> <dest dir>
這方式有可能造成多人正在存取檔案時, 我們存取失敗,但實測機率不高, 或許沒有很頻繁多人讀取
mount cifs -o username=”帳號”,password=”密碼”,domain=”網域”,cache=loose <source dir> <dest dir>
這方式有可能造成多人正在存取檔案時, 我們存取失敗,但實測機率不高, 或許沒有很頻繁多人讀取
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 選項
實戰時, 讓restic透過rclone傳輸檔案, 約莫20萬個檔案, 將會導致記憶體不足, 目前看起來應該是–buffer-size需要設定,
已經有人反映,就只能等rclone 更新, 或是GO更新了
ssh root@10.192.130.146 -p 22 'ls -al'
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'
直接就是web介面, http://ip:5572
rclone rcd --rc-web-gui --rc-addr :5572 --rc-user=admin --rc-pass=password --config=/root/rclone/rclone.conf
使用情境是依不同系統 , 建立多個備份倉, 一個倉別若要備份不同目錄, 可用tag區分.
備份倉盡量用簡單的方式, 當然也可以掛載sftp ,或是 rclone.
要備份的目錄, 盡量用掛載的, 變成一個目錄, rclone是個好選擇
備份後,執行保留策略(7天或是30天), 備份可以從目錄, 也可以從stdin ,
還原就比較沒甚麼好談的
至於密碼, 我覺得用環境變數就好了, 用檔案存密碼, 我覺得指令看起來好複雜
export RESTIC_PASSWORD=123456
restic -r <備份倉目錄> init
#Linux
export RESTIC_PASSWORD=123456
restic -r <備份倉目錄> backup <想要備份的目錄> --cleanup-cache --verbose --verbose >> restic.log 2>&1
#windows powershell
$Env:RESTIC_PASSWORD='password'
restic -r <備份倉目錄> backup <想要備份的目錄> | Out-File C:\temp\files.log -Encoding UTF8
export RESTIC_PASSWORD=123456
mysqldump -u root -p<密碼> --all-databases -h <主機ip> | restic --repo <備份倉目錄> backup --stdin --stdin-filename all.sql
restic -r <備份倉目錄> backup <想要備份的目錄> --tag:名稱 --cleanup-cache --verbose --verbose >> restic.log 2>&1
export RESTIC_PASSWORD=123456
restic -r <備份倉目錄> snapshots
export RESTIC_PASSWORD=123456
restic -r <備份倉目錄> restore <snapshots id> --target <要還原的目錄>
export RESTIC_PASSWORD=123456
restic -r <備份倉目錄> forget --prune --keep-daily 7
docker run restic/restic 參數
## 例如
docker run restic/restic version
#例如建立repository
docker run -v /root:/root restic/restic --repo /root/repo --password-file=/root/password init
export GODEBUG=asyncpreemptoff=1
docker run -v /root:/root restic/restic --repo /root/repo --password-file=/root/password backup /root/a
yum install -y curl unzip wget screen fuse fuse-devel
curl https://rclone.org/install.sh | bash
rclone selfupdate