Files
kopia/cli/command_maintenance_run.go
Jarek Kowalski 1377d057e4 Maintenance changes (#423)
* maintenance: encrypt maintenance schedule block

* maintenance: created snapshotmaintenance package that wraps maintenance and performs snapshot GC + regular maintenance in one shot, used in CLI and server

* PR feedback.
2020-05-02 20:40:16 -07:00

28 lines
681 B
Go

package cli
import (
"context"
"github.com/kopia/kopia/repo"
"github.com/kopia/kopia/repo/maintenance"
"github.com/kopia/kopia/snapshot/snapshotmaintenance"
)
var (
maintenanceRunCommand = maintenanceCommands.Command("run", "Run repository maintenance").Default()
maintenanceRunFull = maintenanceRunCommand.Flag("full", "Full maintenance").Bool()
)
func runMaintenanceCommand(ctx context.Context, rep *repo.DirectRepository) error {
mode := maintenance.ModeQuick
if *maintenanceRunFull {
mode = maintenance.ModeFull
}
return snapshotmaintenance.Run(ctx, rep, mode)
}
func init() {
maintenanceRunCommand.Action(directRepositoryAction(runMaintenanceCommand))
}