You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,6 +93,13 @@ shuttle version Print version
93
93
|`--skip <name>`|| Skip a job by name (repeatable, mutually exclusive with `--only`) |
94
94
|`--only <name>`|| Run only the named job(s) (repeatable, mutually exclusive with `--skip`) |
95
95
|`--remote <name>`|| Target a specific cloud remote (repeatable) |
96
+
|`--color <when>`|| Colorize terminal output: `auto` (default), `always`, or `never`. The `NO_COLOR` environment variable always forces color off. |
97
+
|`--quiet`|`-q`| Suppress stdout on success; on failure, route summary and log path to stderr. Mutually exclusive with `--verbose`. |
98
+
|`--verbose`|`-v`| Print executed commands (`exec: rsync ...` / `exec: rclone ...`) in addition to normal output. Mutually exclusive with `--quiet`. |
99
+
100
+
### Output streams
101
+
102
+
Informational output (banners, progress, per-job status, the final summary) goes to **stdout**. Diagnostic output (`[WARN]`, `[ERROR]`) goes to **stderr**, matching rsync and rclone. Scripts redirecting with `shuttle > log.txt` capture only the informational stream; add `2>&1` to also capture diagnostics.
96
103
97
104
### Exit Codes
98
105
@@ -111,6 +118,12 @@ Config lives at `${XDG_CONFIG_HOME:-~/.config}/shuttle/config.toml`. See [`confi
111
118
112
119
Optional baseline settings applied to all jobs of a given engine. Per-job fields override these.
113
120
121
+
**`[defaults]`** (cross-cutting)
122
+
123
+
| Field | Type | Description |
124
+
|-------|------|-------------|
125
+
|`log_retention_days`| int | Age (in days) after which per-run log files are pruned on startup. Defaults to 30. Set to `0` to disable pruning. Negative values are rejected. |
126
+
114
127
**`[defaults.rsync]`**
115
128
116
129
| Field | Type | Description |
@@ -198,6 +211,8 @@ backup_retention_days = 365
198
211
199
212
Logs are written to `${XDG_STATE_HOME:-~/.local/state}/shuttle/logs/`. Each run creates a timestamped log file. The path is printed at the end of every run.
200
213
214
+
At startup Shuttle prunes log files older than `log_retention_days` (default 30) so the directory does not grow unbounded under regular cron use. Pruning is best-effort: a failure on any individual file is recorded as a warning and does not block the backup.
215
+
201
216
## Encrypted Rclone Remotes
202
217
203
218
If your rclone config is encrypted, Shuttle prompts for the password on interactive terminals. For unattended runs (cron, launchd), set `RCLONE_CONFIG_PASS` in the environment.
0 commit comments