task-sync(5) User Manuals task-sync(5) (NAME) task-sync - task(1) (INTRODUCTION) Taskwarrior . : - " (replica)" . - . - . . : (undo) . . (MANAGING SYNCHRONIZATION) (Adding a Replica) `task sync` . (When to Synchronize) : $ task sync cron(8). (CONFIGURATION) Taskwarrior : - Taskwarrior . + . AWS GCP . - . - ( ). (encryption secret) . . $ task config sync.encryption_secret pwgen(1) . (Sync Server) : - (URL) ( "https://tw.example.com/path") - ("client_id") Taskwarrior : $ task config sync.server.url $ task config sync.server.client_id 'http://' 'https://' . $ task config sync.server.origin "sync.server.url" . (Google Cloud Platform) GCP GCP Cloud Storage . . : $ gcloud config set project $PROJECT_NAME $ gcloud auth application-default login Taskwarrior : $ task config sync.gcp.bucket `application-default` (service account) . "IAM and Admin" "Roles" . "Roles" "CREATE ROLE" . . "Service:storage" ( "Filter permissions by role") . : - storage.buckets.create - storage.buckets.get - storage.buckets.update - storage.objects.create - storage.objects.delete - storage.objects.get - storage.objects.list - storage.objects.update . "Service accounts" . "Service accounts" "CREATE SERVICE ACCOUNT" . . . "keys" . "ADD KEY" ( JSON) . Taskwarrior : $ task config sync.gcp.bucket $ task config sync.gcp.credential_path (Amazon Web Services) AWS AWS S3 . . (lifecycle policy) . AWS IAM BUCKETNAME . Taskwarrior . { "Version": "2012-10-17", "Statement": [ { "Sid": "TaskChampion", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::BUCKETNAME", "arn:aws:s3:::BUCKETNAME/*" ] } ] } IAM JSON . "Next" "TaskwarriorSync" . "Attach Policies Directly" . (access keys) . "Security Credentials" "Create access key" . Taskwarrior . Taskwarrior : $ task config sync.aws.region $ task config sync.aws.bucket $ task config sync.aws.access_key_id $ task config sync.aws.secret_access_key AWS CLI "taskwarrior-creds" : $ aws configure --profile taskwarrior-creds (access key ID) (secret access key) . . Taskwarrior : $ task config sync.aws.region $ task config sync.aws.bucket $ task config sync.aws.profile taskwarrior-creds AWS (instance profile) : $ task config sync.aws.region $ task config sync.aws.bucket $ task config sync.aws.default_credentials true (Local Synchronization) . : $ task config sync.local.server_dir /path/to/sync ("data.location") . (Git Synchronization) : $ task config sync.git.local_path /path/to/local/repo $ task config sync.git.branch taskchampion $ task config sync.encryption_secret . . (push pull) (remote) : $ task config sync.git.remote origin "origin" "git@myserver.com:/path/to/repo.git" . "git push" "git pull" ( SSH credential helper ). . : . $ task config sync.git.local_only true : $ task config sync.git.git_path /path/to/git TASKCHAMPION-SYNC-SERVER TaskChampion HTTP . (client ID) . Taskwarrior . : https://github.com/GothenburgBitFactory/taskchampion-sync-server (Adding a New User) `uuidgen` UUID . : . Taskwarrior . ("encryption_secret") . (AVOIDING DUPLICATE RECURRING TASKS) ( ) : $ task config recurrence on : $ task config recurrence off . : (ALTERNATIVE: FILE SHARING SERVICES) DropBox Amazon S3 Google Drive SkyDrive . task. . (conflict) . . . data.location : $ task config data.location /path/to/shared/directory : - - - : - (CREDITS & COPYRIGHTS) (C) 2006 - 2021 T. Babej, P. Beckingham, F. Hernandez. Taskwarrior MIT . https://www.opensource.org/licenses/mit-license.php . (SEE ALSO) task(1), taskrc(5), task-color(5) Taskwarrior : (REPORTING BUGS) Taskwarrior : task 3.5.0 2016-02-24 task-sync(5)