1

一日一技|巧用开源软件 Mackup 在不同设备间同步各类软件设置

 1 year ago
source link: https://sspai.com/post/77012
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Matrix 首页推荐 

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


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

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

使用 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 客户端 、关注少数派公众号,解锁全新阅读体验 📰

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK