backup
Programs to make and upload file backups.
Usage
Command backup
writes a zip-formatted backup archive to stdout.
go install go.growl.space/backup/cmd/backup@latest
usage: backup [-files] [-size] [other flags]
Command uploadbackup
transmits a backup archive to a remote server over ssh.
go install go.growl.space/backup/cmd/uploadbackup@latest
usage: uploadbackup [-f file] <remote>
The configuration consists of a $HOME/.config/backup/paths.txt
file that
specifies the paths to include in each backup.
See godoc for details.
Example
If you have everything configured, you can run the following to back up your
files to a remote server.
backup | uploadbackup maisel
where maisel
is the remote server.
For example:
% backup | uploadbackup maisel
backup: adding /Users/ns/Documents
uploadbackup: writing backups/surf.local/2023-04-14-142720.zip to maisel
backup: adding /Users/ns/Pictures
backup: adding /Users/ns/src
...
backup: adding /Users/ns/.zsh_history
backup: done
uploadbackup: done
%
Use backup | pv -r -b | uploadbackup ...
to see progress of the transfer.
License
backup
Copyright (C) 2023 Nishanth Shanmugham
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.