惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
Vercel News
Vercel News
F
Fortinet All Blogs
量子位
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
D
DataBreaches.Net
H
Help Net Security
阮一峰的网络日志
阮一峰的网络日志
D
Docker
WordPress大学
WordPress大学

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
一日一技|巧用开源软件 Mackup 在不同设备间同步各类软件设...
2022-11-27 · via 少数派

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 
文章代表作者个人观点,少数派仅对标题和排版略作修改。


作为一个拥有多台 Mac 的用户,电脑中诸多软件配置同步的问题一直困扰着我。

近年来软件功能越来越丰富,但是设置步骤也逐渐繁琐。虽然很多软件推出了自己的云同步服务,只需要登陆账号就可以在多台设备中同步设置。但是仍旧有多数软件并没有多设备间的同步功能,如何解决这一软件之间同步成了一个课题。本文抛砖引玉,使用开源软件 mackup 对设备中无法进行云同步的软件进行配置的备份与还原。

Image.png

Mackup 是一款基于 python,适用于 Linux/macOS 的命令行备份软件,只需要简单输入几行命令,就可以把应用程序的配置文件备份或还原。Mackup 支持目前市面上主流的云存储,比如 Dropbox、iCloud、OneDrive 等等,通过将备份文件存储到云存储中,再在另一台电脑上还原的方式同步配置。

我们以在 macOS 下备份 Raycast 配置为例:

安装 Mackup

Mackup 提供了 brewpip 两种安装方式,我们可以通过以下命令安装:

brew install mackup 
# 使用 brew 安装

pip install --upgrade mackup
# 使用 pip 安装

配置

安装完成之后我们需要对与 mackup 进行配置,mackup 的配置文件为 ~/.mackup.cfg ,我们可以通过 vi 或者nano 进行编辑

vi ~/.mackup.cfg

在配置文件中我们首先需要选择使用的存储备份方式(默认为 Dropbox),我们使用 iCloud:

[storage]
engine = icloud
directory = .config/mackup

engine 参数表示选择的备份存储方式,directory 则是你需要备份存放的位置。

mackup 在备份上提供了多种选择:

  • Dropbox:dropbox
  • Google Drive: google_drive
  • iCloud: icloud
  • copy & file_system: copy file_system

如果你使用上述三种云存储,那只需要在engine 里面填入相应的参数即可,如果你还想选择可以挂载在目录下的云存储,比如自建私有云,WebDAV 等等那可以选择 file_system 并且填入相应挂载目录。

接下来我们在配置文件中填写想要同步设置的软件名称:

[applications_to_sync]
raycast

需要注意的是,这里填写的软件名称必须是 mackup 支持的软件。可以通过命令mackup list 或者在其 GitHub 主页上查询。

这样我们获得了一份这样的配置文件:

[storage]
engine = icloud
directory = .config/mackup

[applications_to_sync]
raycast

保存退出之后我们就可以用 mackup 进行备份了。

备份

接下来我们只要使用以下命令,就可以把选择的软件备份到相应的目录下。

mackup backup

再另一台电脑上,配置相同的配置文件后,使用以下命令就可以同步配置。

mackup restore

整个过程非常简单,当然我们可以通过 crontab 这样的定时执行程序进一步自动化,首先编写一个 shell 脚本 backup.shrestore.sh

#!/bin/bash

mackup backup -f
#!/bin/bash

mackup restore -f

对其赋予可执行权限:

sudo chmod +x backup.sh

sudo chmod +x restore.sh

再根据日常使用习惯通过 crontab 定时运行这两个脚本,就可以完成自动的备份同步了。

不在列表上的软件

当然对于不在 mackup 官方支持的软件列表上的软件我们也可以自己创建 config 文件来实现备份,实现方式也很简单,我们以 Input-Source-Pro 为例:

创建存储个人配置文件的 mackup 文件夹与:

mkdir ~/.mackup

touch ~/.mackup/input-source-pro.cfg

在配置文件中填入 Input Source Pro 的名称和其配置文件的地址相对地址即可:

[application]
name = Input-Source-Pro

[configuration_files]
Library/Preferences/com.runjuu.Input-Source-Pro.plist

此时运行一下 mackup list 查看是否添加到 mackup 中,然后在 mackup.cfg 文件中添加 Input-Source-Pro 即可备份。

结语

mackup 是一款非常简单易用的备份脚本软件,通过简单的配置就可以同步软件中复杂的设置。不过对于不熟悉命令行的用户来说,仍旧有一定的门槛。还是希望各类软件开发者可以活用 iCloud Drive 等等对用户友好的方式提供可靠的设备间配置同步功能。

> 少数派请你做地图:城市声音收藏夹火热征集中,期待你创作的城市之声 🎧

> 下载少数派 2.0 客户端 、关注少数派公众号,解锁全新阅读体验 📰

> 实用、好用的正版软件,少数派为你呈现 🚀