如何创建云服务同步器+自动化工具

如何创建云服务同步器+自动化工具

是否存在用于在开发环境中自动执行任务的框架(涉及与云服务的交互)。

例如,假设我使用 rsync 并使用我的各种云帐户自动执行备份和各种操作,我可以多自由地定制和自动化一切?

例如,假设我使用像 keepassx 这样的密码管理器,我可以集成它以便 rsync 可以提取存储在其中的内容(如用户名/密码、SSH 密钥、代码、文件等)吗?那么像 truecrypt 这样的加密工具呢?

我可以随时运行任何自定义 bash 脚本或 python 脚本吗?我可以使用此工具来自动化 vagrant、docker、Amazon EC2、Amazon AWS 等操作吗?

我最大的担心是让它跨平台。我在 Windows 和 Linux 之间切换,不幸的是,用 cygwin 编写批处理脚本是一件很麻烦的事,所以我更愿意用跨平台语言编写脚本。如果这篇文章充满了问题,我很抱歉,我只是看到如果它能工作的话,它将是多么的有用。

该工具将具有支持云和本地开发环境之间双向通信的功能。例如,可能会出现添加新的 SSH 证书的情况,或者包含参数的数据文件,指示云系统向 Linux 开发环境添加一些新的环境变量(或更新 Windows 的注册表)

对于此工具的 Web 开发方面,我需要此工具来执行如下操作:

  • git 推送和拉取
  • 备份 MySQL 数据库

此外,我需要该工具能够帮助配置虚拟机。例如,我使用 vagrant 创建 LAMP 服务器虚拟机,并需要将我的 SSH 密钥传输到 Vagrant 虚拟机或 docker 容器,该工具可以从安全密码管理器获取 SSH 密钥,然后使用密码和说明在主机和虚拟机之间共享文件。

我意识到这其中有很多事情要做,我知道我可以自己做,但我不想花上天知道多长时间重新发明轮子(我犯了太多次这样的错误)。我希望这里的一些人可以告诉我可以作为模块集成到这个程序中的工具。

编辑:我找到了一个非常好的起点,它是一个名为 MultiCloud 的程序:

https://www.multcloud.com/

我在这里读到了它。听起来很有前途。它肯定涵盖了存储同步方面。它支持 WebDAV。我今天才看到这个术语,但从我读到的内容来看,这可能对云存储系统需要更改开发环境(即添加新环境参数)的情况有用?

答案1

您的问题太广泛,无法用一颗灵丹妙药来解决,所以您应该使用更适合您的不同工具和脚本。

是否有一个框架可以在开发环境中自动执行任务(涉及与云服务交互)。例如,假设我使用 rsync 并使用我的各种云帐户自动执行备份和各种操作,我可以多么自由地自定义和自动化所有内容?

就我而言,我更喜欢使用 p2phttps://syncthing.net/将整个笔记本电脑备份到家用电脑。

Dropbox 用于存储文档。

AWS S3 定制脚本,用于备份会计系统数据库并存储(tar + upload)。

例如,假设我使用像 keepassx 这样的密码管理器,我可以集成它以便 rsync 可以提取存储在其中的内容(如用户名/密码、SSH 密钥、代码、文件等)吗?那么像 truecrypt 这样的加密工具呢?

我在 Dropbox 上使用 keepass,并在笔记本电脑和 Android 手机之间同步。对于你的情况,你可以使用 synkthing。

我可以随时运行任何自定义 bash 脚本或 python 脚本吗?我可以使用此工具来自动化 vagrant、docker、Amazon EC2、Amazon AWS 等操作吗?

就我而言,我在 Windows PC 上有一些 .bat 文件,在 Ubuntu 计算机和服务器上有一些 Bash 和 Python。

我认为你可以自由使用任何你想要的工具。我们生活在一个没有理想的世界,所以只需自动化无聊和关键的任务即可。

我最大的担心是让它跨平台。我在 Windows 和 Linux 之间切换,不幸的是,用 cygwin 编写批处理脚本是一件很麻烦的事,所以我更愿意用跨平台语言编写脚本。如果这篇文章充满了问题,我很抱歉,我只是看到如果它能工作的话,它将是多么的有用。

就我而言,不同的平台 - 不同的工具。

对于此工具的 Web 开发方面,我需要此工具来执行如下操作:git 推送和拉取备份 MySQL 数据库

适用于 Windows 的 Git Bash,在我的情况下,使用适用于 Ubuntu 的 git 的 Bash 脚本。

此外,我需要该工具能够帮助配置虚拟机。例如,我使用 vagrant 创建 LAMP 服务器虚拟机,并需要将我的 SSH 密钥传输到 Vagrant 虚拟机或 docker 容器,该工具可以从安全密码管理器获取 SSH 密钥,然后使用密码和说明在主机和虚拟机之间共享文件。

我认为这是非常具体的任务,所以只需开始编写自己的脚本,然后多次重构))

相关内容