清除 taskwarrior 服务器的命令?

清除 taskwarrior 服务器的命令?

在调试此脚本期间https://github.com/at-0/PublicCodeLibrary/tree/master/AutomationAndSystems/Taskwarrior/CustomSort,我正在尝试从我的 taskd taskwarrior 服务器中删除任务数据。

我不知道那里有一个 taskwarrior 论坛和https://botbot.me/freenode/taskwarrior/已关闭。所以我想我应该在超级用户这里询问。

最初,我误解了该命令的含义task sync init。我以为它会将本地任务推送到任务服务器上,作为任务服务器上应有的完整列表。然而,这是一个无效的假设,实际上它只是添加任务,如此处所述https://taskwarrior.org/docs/taskserver/sync.html。因此该命令本身不足以清除任务服务器。

因此我也尝试过:

  1. 删除backlog.data、、completed.data和。pending.data然后输入命令。undo.data~/.task/sudo task sync init
  2. 删除backlog.data、、completed.data和。使用命令创建单个任务来重新创建这些文件。pending.data输入命令。undo.data~/.task/task add task1sudo task sync init
  3. 使用命令从 ubuntu WSL 16.04 中删除 taskwarrior 服务器apt-get remove taskd,然后重新启动 WSL Ubuntu 16.04 并重复第一步,然后重复第二步。两者都无效。
  4. 使用命令从 ubuntu WSL 16.04 中删除 taskwarrior 服务器apt-get purge taskd,然后重新启动 WSL Ubuntu 16.04,并重复第一步,然后第二步。 两者都无效。 如下所建议:https://askubuntu.com/questions/187888/what-is-the-correct-way-to-completely-remove-an-application.然后执行步骤 1 和步骤 2。
  5. 我已更新至 taskwarrior 2.6.0,以在所有任务上使用清除命令:task purge,但它并没有从本地 taskwarrior 中删除任务,因此也没有从 taskserver 中删除它们。

任务清除并未从本地 taskwarrior 中删除任务。

有效清除任务服务器的一种方法是完全卸载 WSL Ubuntu,然后重新安装 taskwarrior、taskwarrior 服务器和我在 Ubuntu 上运行的其他软件。虽然这是一项很好的练习,迫使我在尝试另一个破坏数据的调试测试之前好好思考,但我也渴望了解 taskwarriors 任务服务器的功能。

因此,我想知道是否有人知道从 Ubuntu 内部清除 taskwarrior 服务器的命令?

答案1

Task Warrior 在 ubuntu 上安装得很好,但你必须安装任务服务器才能在计算机之间同步任务。好吧,我刚刚安装了,但我还要说它很复杂。有安装 taskd 的 git 方法。它是这样的。

  • 创建用户 twarrior 并更改为该用户
$ sudo add user twarrior
$ su twarrior
$ mkdir ~/opt
$ cd ~/opt
  • git 克隆服务器
$ git clone --recurse-submodules https://github.com/GothenburgBitFactory/taskserver.git

构建服务器(您需要安装一些软件包才能构建)

构建过程

所需的依赖项

sudo apt install g++
sudo apt install libgnutls28-dev
sudo apt install uuid-dev
sudo apt install cmake
sudo apt install gnutls-bin

# Then make build from the rep directory ~/opt/taskserver

cd $SOURCE
cmake -DCMAKE_BUILD_TYPE=release .
make
sudo make install
  • 转到 ~/opt/taskserver/scripts 文件夹并跑步使用安装脚本进行 repo。它起作用了。

您应该小心谨慎(避免设置任何重复的主机名或 /etc/host 别名)。我强制我的机器从 /etc/hostname 记录中读取主机名,并且它还在 /ect/hosts 中将其指定为别名,然后我也设置了一个 DNS 服务器,使用不同的名称...显然,只需一个就足够了。我更喜欢在您的私有网络上使用 DNS 作为名称解析器。

$ cd ~/opt/taskserver/scripts/ && ./setup_server.bash
  • 您将需要一些信息,例如域名地址。

一些额外的步骤

  • 使用以下方式添加用户taskd add org "<ORGANIZATION>" taskd add user "<ORGANIZATION>" "<YOUR USERNAME>
  • 这将设置服务器目录,并使用 uuid 来代替您的姓名。
  • 你还将看到你设置的用户的 uuid
  • 切换到 repos pki 目录,你将在设置步骤中看到你的用户密钥设置
  • 你会做对,如果犯了错你会再做

我认为安装程序会处理服务器配置,但是,如果您有任何错误,那么会有很好的文档讨论配置设置的每一点,尽管您键入的命令通常只是最容易键入的命令,而不是复制和粘贴。[任务战士服务器 DOCS]

服务器是

  • 您将 Your_Name.cert.pem Your_Name.key.pem 和 ca.cert.pem 复制到您的真实用户帐户 ~/.task 目录 --- 这样做需要 sudo 并将文件 chown 到您的真实用户:组
  • 检查 taskd 是否正在运行ps -leaf | grep taskd
  • 如果没有,则可以启动它taskdctl start(以 twarrior 用户身份执行此操作)。
  • 以正常用户身份运行task sync init并(y)
  • 您现在就可以启动并运行了。

相关内容