Published onJune 17, 2024家庭 NAS 上的 Windows PC 远程开关机应用Windows数字生活介绍了如何在家庭NAS上使用Windows PC进行远程开关机。通过Wake-on-LAN发送Magic packet来唤醒PC,利用OpenSSH服务发送关机和休眠指令,并将应用以Docker容器的方式部署在极空间NAS上。
Published onJune 14, 2024简单高效地从 DynamoDB 同步数据到 RedshiftRedshiftDynamoDB本文介绍了如何简单高效地将DynamoDB的数据同步到Redshift。通过全量扫描DynamoDB并使用COPY命令导入数据到临时表,随后利用MERGE和DELETE语句实现目标表的批量更新和删除,确保数据一致性。方案设计充分利用了Redshift的ETL能力,避免了引入其他AWS组件的额外费用,满足了低频率更新和小数据量的需求。
Published onMarch 19, 2024rclone 同步文件到 SFTP “InvalidUTF8” 问题 TroubleshootingSFTPFile-Sync在使用 rclone 进行文件同步时,遇到 "InvalidUTF8" 错误,主要是由于文件名在处理过程中被截断导致的。通过分析 rclone 的源码,发现旧版本 v1.64.2 中的文件名截断逻辑存在问题,建议升级到 v1.66.x 版本以解决此问题。新版本中增加了合法 UTF-8 字符串的检测算法,避免了此类错误的发生。
Published onFebruary 8, 2024利用管道加速 SQL Server 数据迁移 RedshiftMSSQLS3UNIXPipeRedshift利用 Linux 管道加速 SQL Server 数据迁移到 Redshift 的方法包括使用 bcp 工具导出数据、切割和压缩文件、上传到 S3,并使用 COPY 命令导入到 Redshift。通过并行处理和命名管道技术,可以显著提高数据迁移效率,减少迁移时间和系统资源消耗。
Published onFebruary 19, 2023使用 sqlite-utils upsert 失败 TroubleshootingPythonTroubleshootingSQLite使用 sqlite-utils 进行数据插入时, upsert 方法可能因未满足非空约束而失败。插入时只提供主键值导致违反 NOT NULL 约束,因而插入失败但未反馈错误。SQLite 3.24.0 及以上版本支持 upsert 语法,建议使用该语法以避免此类问题。sqlite-utils 的 upsert 实现不符合 SQLite 的新特性,需注意其命名和实现方式。