2021年11月18日 星期四

在 Linux bash 寄 gmail 信附加檔案

固定時間要備份資料庫檔案,

之前想到到用 rclone 備份到 google drive,

但是要設定時要進行2步驟認證,

還有權限會可以讀寫帳號內整個 google drive,

有點不安全。

就改成換用寄 email 附加資料庫檔案,

但是要用 systemd timer 定期執行,

用 bash 指令會比較適合



指令:

echo "content text" | mutt -a "/attachment/file.7z" -s "subject text" -- my.email@gmail.com

2021年8月27日 星期五

Linux 不透過 Display manager 完成自動登入及執行 startx 進入 xwindow 圖形界面

某台電腦需要自動登入及進入 xwindow 才能啟動要用的功能,

找到下方這篇文章可以透過 systemd 的本機自動登入功能,

再加上登入後自動執行 startx 完成自動進入 xwindow 圖形界面環境。

Autologin and startx without a display manager.

https://forums.bunsenlabs.org/viewtopic.php?id=5544

2021年8月15日 星期日

Git gui 使用有 passphrases 的 ssh key 連到 GitHub

因為 2021/08/13 後,github 不給用 https 加密碼方式連線,

只能用 ssh key 的方式。

但是照著步驟一直失敗

Pushing to ssh://github.com/myname/project.git
myname@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

在archlinux 中使用 clonezilla 備份非系統磁碟

因為系統開機中,不想重開啟使用 Clonezilla live USB。

有個方法是開 VirtualMachine 用 Clonezilla Live ISO 開機後再連接要備份的和

儲存的裝置,但是感覺還是有點麻煩。

所以想直接拿出 Clonezilla live ISO 檔案內的相關檔案,利用 chroot 改變根目錄直接執行。

因為 ram 夠大,所以全部在 /dev/shm 下操作

2021年7月21日 星期三

Android kotlin 備份及還原 app 的 sqlite database

因為在 Android Q (API 29) 後有 getExternalStoragePublicDirectory is deprecated 的狀況,所以最後終於東拼西湊出可以複製。

下列程式是用在 Fragment,如果是Android Q以上,會有檔案選取頁面選擇要儲存備份的檔案位置和自訂檔名,在還原時也可以自行選擇還原檔案。其他較低的Android 則在備份時直接以指定檔名儲存到 Download 資料夾,還原時也從 Download 資料夾讀取指定檔名。

2021年7月16日 星期五

Python imaplib 讀取 gmail 內文及附件(python gmail attachment download)



想要自動化取得 gmail 的附件,再自動做其他用途。

可以用 imaplib 方式

未完成功能:message_from_string 取得的 subject 和 from 轉成 utf-8

2021年7月14日 星期三

解決 web server 連線出現 The page isn’t redirecting properly 問題

問題點就是出在 Apache 設定檔中

 <VirtualHost *:443>

....

ServerName me.afreeddns.org

....

RewriteCond %{SERVER_NAME} =me.afreeddns.org
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

因為 ServerName 和 RewriteCond 一樣,

導致 redirect 變成迴圈,

把 RewriteCond 改成和 ServerName 不同就好,例如:

RewriteCond %{SERVER_NAME} =www.me.afreeddns.org