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

修改 config.php

過了31天清除

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

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

docker exec --user www-data <container id> php occ config:app:set --value=no files_trashbin background_job_expire_trash

docker exec --user www-data nextcloud php occ config:app:set --value=no files_versions background_job_expire_versions
docker exec --user www-data <container id> 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'

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;
    }
}
1 2 3 4 5 ... 47