作者: william
linux 掛載(mount) cifs(windows網路)效能調整
mount cifs -o username=”帳號”,password=”密碼”,domain=”網域”,cache=loose <source dir> <dest dir>
這方式有可能造成多人正在存取檔案時, 我們存取失敗,但實測機率不高, 或許沒有很頻繁多人讀取
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 選項

rclone 使用時須注意記憶體
實戰時, 讓restic透過rclone傳輸檔案, 約莫20萬個檔案, 將會導致記憶體不足, 目前看起來應該是–buffer-size需要設定,
已經有人反映,就只能等rclone 更新, 或是GO更新了
Visualsvn server很好用,但免費版無備份功能,該如何自行備份?
https://www.visualsvn.com/server/
svn好用之處在於可以鎖定檔案, 這在公司是非常實用的,雖然學習門檻有點高,但還能接受.
備份方式 有兩種
- svnadmin hotcopy 方式, 一模一樣複製一份
- 直接用svnadmin dump的方式增量備份
我最後打算用 hotcopy 方式 , 搭配restic超強備份軟體, 來完成備份
hotcopy的方式可以按此下載我寫的批次檔案(windows版本), 改一下變數即可使用.
至於還原 , 若使用hotcopy的方式備份, 只要刪除server的資料, 再下一次hotcopy 從備份檔案 還原回去既可
原本備份是
svnadmin hotcopy –incremental <server dir> <backup dir>
還原變成
svnadmin hotcopy <backup dir> <server dir>
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失敗。

mysqldump 資料庫匯出要注意編碼
rclone gui滿好用的
直接就是web介面, http://ip:5572
rclone rcd --rc-web-gui --rc-addr :5572 --rc-user=admin --rc-pass=password --config=/root/rclone/rclone.conf

JQuery不熟真的很麻煩,光是傳資料到後端就一堆要強記的
- 傳單一資料
$.when(
$.getJSON("yyyServlet", {"FlowID" : "doQuery"})
).done( function(returnData){
alert(returnData) // 不用加上[0]即可取得回傳資料
})
- 傳多資料到多個後端
$.when(
$.getJSON("xxxServlet", {"FlowID" : "getJsGridSelectOptions"}),
$.getJSON("yyyServlet", {"FlowID" : "doQuery"})
).done( function(returnData1,returnData2){
alert(returnData1[0]) // 第一個json回傳值,要加上[0]才能抓到資料
alert(returnData2[0]) // 第二個json回傳值,要加上[0]才能抓到資料
})
人不能太貪心, 又是前端, 後端, 又是mobile app, 又是k8s,docker容器, 領域差太多,很容易忘東忘西
javascript 將form輸入的資料轉成json
function getFormDataAsJson(sFormId) {
var form = $('#' + sFormId);
if (form != null) {
var json = {};
var inputs = $('input', form);
for (i = 0; i < inputs.length; ++i) {
var next = inputs[i];
var key = $(next).attr('id');
var val = $(next).val();
if (val != null && key != null)
json[key] = val;
}
var selects = $('select', form);
for (i = 0; i < selects.length; ++i) {
var next = selects[i];
var key = $(next).attr('id');
var val = $(next).val();
if (val != null && key != null)
json[key] = val;
}
console.log(json);
return json;
}
}