為了部署方便,Gitea一開始建置時使用的是SQLite資料庫,當操作時間一久,累積了多個操作記錄,為了提升系統執行效能最好定期刪除舊的資料,因此以下列方法建立自動刪除SQLite資料的自動排程步驟。
清理資料的SQLite script是:
delete from action where created_unix < 1693497600;
vacuum;
小於後的時UNIX時間數值。
計算一個月前的UNIX時間
SQLite action資料表的建立時間使用的是UNIX時間的數值,以ut-cli的ut.exe來計算前一個月的時間數值。
- Unix Time Stamp - Epoch Converter
- ut (unix timestamp) 下載: yoshihitoh/ut-cli: A command line tool to handle a unix timestamp.
▼ 用下列命令取出UNIX時間
ut generate -d -1month >> delete_data.sql
cmd.exe不輸出換行的方法
批次檔不輸出換行的方法是使用echo | set /p="命令"
完整內容
cd /d c:\gitea安裝資料夾\data
echo|set /p="delete from action where created_unix < " > delete_data.sql
ut generate -d -1month >> delete_data.sql
echo ; >> delete_data.sql
echo vacuum; >> delete_data.sql
type delete_data.sql
set DIR=c:\gitea安裝資料夾\data
set DD=%date:/=%
copy %DIR%\gitea.db %DIR%\gitea.db.%DD% /y
sqlite3 %DIR%\gitea.db < %DIR%\delete_data.sql
echo %DATE% %TIME% > delete_data.log
dir %DIR%\gitea*.* /od >> delete_data.log
##
您可能也會有興趣的類似文章
- [Git#9] Gitea 安裝與設定:輕量級程式碼託管解決方案 (0則留言, 2022/05/22)
- SQLite!不止是資料庫系統,也能快速轉換資料格式 (0則留言, 2021/06/11)
- 幫Gitea網站使用Let’s Encrypt SSL憑證的設定步驟 (0則留言, 2022/09/01)
- 開發Android應用程式時操作SQLite資料庫的方法 (0則留言, 2019/03/30)
- Gitea網頁添加自訂選項以開啟說明文件 (0則留言, 2022/09/01)
- 啟用Gitea Server的SSH服務,可大幅增加連線速度 (0則留言, 2018/02/15)
- Git https/SSL 連線失敗時的解決方法 (0則留言, 2022/09/06)
- [Windows] 抹除使用記錄的方法 (0則留言, 2020/03/04)
- [Windows] 用Gitea架設自用的Git Server (2則留言, 2017/07/21)
- [Windows好用工具] 預約關機批次檔 (0則留言, 2016/06/25)
- 用Aqua Data Studio存取Trac.db以加速權限設定 (0則留言, 2007/07/14)
- Windows的免費hMailServer搭配SpamAssassin過濾垃圾郵件:安裝與設定 (10則留言, 2010/04/23)
- [Batch#1] Windows批次檔-取得系統日期的簡單方法與環境變數字串操作 (初學者的命令行 #5) (2則留言, 2019/12/15)
- 依檔案日期刪除檔案的工具:Delete Files By Date (0則留言, 2010/09/18)
- [Subversion] 修改舊版次的訊息與作者名稱 (0則留言, 2006/07/08)