98 lines
1.8 KiB
HCL
98 lines
1.8 KiB
HCL
|
// A simple backup job
|
||
|
job "BackupDataDir" {
|
||
|
schedule = "@daily"
|
||
|
|
||
|
config {
|
||
|
repo = "./backups"
|
||
|
passphrase = "secret phrase"
|
||
|
}
|
||
|
|
||
|
backup {
|
||
|
paths = ["./data"]
|
||
|
|
||
|
restore_opts {
|
||
|
// Since backup paths are relative to cwd, we're going to restore relative to cwd as well
|
||
|
Target = "."
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
forget {
|
||
|
KeepLast = 2
|
||
|
Prune = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
job "PassphraseFile" {
|
||
|
schedule = "@daily"
|
||
|
|
||
|
config {
|
||
|
repo = "./backups"
|
||
|
options {
|
||
|
// A more secure method of specifying password
|
||
|
PasswordFile = "./test/samplepassphrase.txt"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
backup {
|
||
|
paths = ["./data"]
|
||
|
|
||
|
restore_opts {
|
||
|
// Since backup paths are relative to cwd, we're going to restore relative to cwd as well
|
||
|
Target = "."
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
job "BackupDataAndSqlite" {
|
||
|
schedule = "@daily"
|
||
|
|
||
|
config {
|
||
|
repo = "./backups"
|
||
|
// Another safe way of not inlining the passphrase
|
||
|
passphrase = readfile("./test/samplepassphrase.txt")
|
||
|
}
|
||
|
|
||
|
sqlite "Backup database" {
|
||
|
path = "./sqlite.db"
|
||
|
dump_to = "./data/sqlite.db.bak"
|
||
|
}
|
||
|
|
||
|
backup {
|
||
|
paths = ["./data"]
|
||
|
|
||
|
restore_opts {
|
||
|
// Since backup paths are relative to cwd, we're going to restore relative to cwd as well
|
||
|
Target = "."
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
job "BackupMySQLDatabase" {
|
||
|
schedule = "@daily"
|
||
|
|
||
|
config {
|
||
|
repo = "./backups"
|
||
|
passphrase = "secret phrase"
|
||
|
}
|
||
|
|
||
|
mysql "Backup database" {
|
||
|
hostname = "localhost"
|
||
|
database = "dbname"
|
||
|
username = "username"
|
||
|
// Values can be read from the env to avoid inlining as well
|
||
|
password = env("TEST_PASSWORD")
|
||
|
dump_to = "./data/sqlite.db.bak"
|
||
|
}
|
||
|
|
||
|
backup {
|
||
|
paths = ["./data"]
|
||
|
|
||
|
restore_opts {
|
||
|
// Since backup paths are relative to cwd, we're going to restore relative to cwd as well
|
||
|
Target = "."
|
||
|
}
|
||
|
}
|
||
|
}
|