Add backups with gobackup and restic
This commit is contained in:
parent
132da79fab
commit
a31cbbe18e
10
Taskfile.yml
10
Taskfile.yml
@ -22,11 +22,13 @@ tasks:
|
||||
cmds:
|
||||
- ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} -t btop
|
||||
|
||||
edit-vars:
|
||||
vars-decrypt:
|
||||
cmds:
|
||||
- ansible-vault edit vars/vars.yml
|
||||
env:
|
||||
EDITOR: micro
|
||||
- ansible-vault decrypt vars/vars.yml
|
||||
|
||||
vars-encrypt:
|
||||
cmds:
|
||||
- ansible-vault encrypt vars/vars.yml
|
||||
|
||||
format-py-files:
|
||||
cmds:
|
||||
|
19
files/backups/gobackup.yml.j2
Normal file
19
files/backups/gobackup.yml.j2
Normal file
@ -0,0 +1,19 @@
|
||||
# https://gobackup.github.io/configuration
|
||||
|
||||
models:
|
||||
|
||||
gramps:
|
||||
compress_with:
|
||||
type: 'tgz'
|
||||
storages:
|
||||
local:
|
||||
type: 'local'
|
||||
path: '{{ (backup_directory, "gramps") | path_join }}'
|
||||
keep: 2
|
||||
archive:
|
||||
includes:
|
||||
- /home/major/applications/gramps/data
|
||||
excludes:
|
||||
- /home/major/applications/gramps/data/gramps_cache
|
||||
- /home/major/applications/gramps/data/gramps_thumb_cache
|
||||
- /home/major/applications/gramps/data/gramps_tmp
|
24
files/backups/restic-backup.sh.j2
Normal file
24
files/backups/restic-backup.sh.j2
Normal file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
echo "Backup: perform backup with gobackup"
|
||||
|
||||
gobackup perform --config={{ backup_gobackup_config }}
|
||||
|
||||
echo "Backup: send backups to remote storage with retic"
|
||||
|
||||
restic-shell.sh backup --verbose {{ backup_directory }} \
|
||||
&& restic-shell.sh check \
|
||||
&& restic-shell.sh forget --compact --prune --keep-daily 90 --keep-monthly 36 \
|
||||
&& restic-shell.sh check
|
||||
|
||||
echo "Backup: send notification"
|
||||
|
||||
curl -s -X POST 'https://api.telegram.org/bot{{ notifications_tg_bot_token }}/sendMessage' \
|
||||
-d 'chat_id={{ notifications_tg_chat_id }}' \
|
||||
-d 'parse_mode=HTML' \
|
||||
-d 'text=<b>{{ notifications_name }}</b>: бекап успешно завершен!'
|
||||
|
||||
echo -e "\nBackup: done"
|
12
files/backups/restic-shell.sh.j2
Normal file
12
files/backups/restic-shell.sh.j2
Normal file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
export RESTIC_REPOSITORY={{ restic_repository }}
|
||||
export RESTIC_PASSWORD={{ restic_password }}
|
||||
export AWS_ACCESS_KEY_ID={{ restic_s3_access_key }}
|
||||
export AWS_SECRET_ACCESS_KEY={{ restic_s3_access_secret }}
|
||||
export AWS_DEFAULT_REGION={{ restic_s3_region }}
|
||||
|
||||
restic "$@"
|
48
playbook-backups.yml
Normal file
48
playbook-backups.yml
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
- name: 'Configure restic and backup schedule'
|
||||
hosts: all
|
||||
|
||||
vars_files:
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
tasks:
|
||||
|
||||
- name: 'Copy restic shell script'
|
||||
ansible.builtin.template:
|
||||
src: "files/backups/restic-shell.sh.j2"
|
||||
dest: "{{ bin_prefix }}/restic-shell.sh"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0700"
|
||||
|
||||
- name: 'Copy restic backup script'
|
||||
ansible.builtin.template:
|
||||
src: "files/backups/restic-backup.sh.j2"
|
||||
dest: "{{ bin_prefix }}/restic-backup.sh"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0700'
|
||||
|
||||
- name: 'Create gobackup config directory'
|
||||
ansible.builtin.file:
|
||||
path: "{{ backup_gobackup_config | dirname }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: 'Copy gobackup config files'
|
||||
ansible.builtin.template:
|
||||
src: "files/backups/gobackup.yml.j2"
|
||||
dest: "{{ backup_gobackup_config }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0700'
|
||||
|
||||
# - name: "Creates a cron file for backups under /etc/cron.d"
|
||||
# ansible.builtin.cron:
|
||||
# name: restic backup
|
||||
# minute: "0"
|
||||
# hour: "2"
|
||||
# user: "root"
|
||||
# job: "systemd-cat {{ bin_prefix }}/restic-backup.sh"
|
||||
# cron_file: ansible_restic_backup
|
@ -1,14 +1,8 @@
|
||||
---
|
||||
base_port: 41080
|
||||
notes_port: "{{ base_port + 1 }}"
|
||||
dayoff_port: "{{ base_port + 2 }}"
|
||||
homepage_port: "{{ base_port + 3 }}"
|
||||
netdata_port: "{{ base_port + 4 }}"
|
||||
wiki_port: "{{ base_port + 5 }}"
|
||||
nomie_port: "{{ base_port + 6 }}"
|
||||
nomie_db_port: "{{ base_port + 7 }}"
|
||||
gitea_port: "{{ base_port + 8 }}"
|
||||
keycloak_port: "{{ base_port + 9 }}"
|
||||
outline_port: "{{ base_port + 10 }}"
|
||||
navidrome_port: "{{ base_port + 11 }}"
|
||||
gramps_port: "{{ base_port + 12 }}"
|
||||
|
163
vars/vars.yml
163
vars/vars.yml
@ -1,69 +1,96 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
31326232656538373331333566386562333865623563313931366165353939633431323062333663
|
||||
3463313831316433383162383933623262636231356331370a393231393536653164653361663232
|
||||
31626661623334636263336534323261336237323935336366366161366665336537383634653265
|
||||
6563386130326531610a626463323739626531653731336366626139396331393531623232623332
|
||||
32383937656365666239306565666232613361616439633438316636356433393139616663663433
|
||||
39336631663633313362623263626237313839356562656462323235626433386138313132643732
|
||||
30656165663362316433306438376266363530313539323338336563333365366465366530396465
|
||||
30633431643563356131656332313564663963356662616235306333393137383135326665646530
|
||||
30343131646430626462626563366133386639643033386130383063656434326634346532396636
|
||||
33393165626535643731616535396431656435343032333539623538663632333462666339323839
|
||||
66613463366665616165613832333931356139303835323363346564343539643062373963633263
|
||||
39653533356533393530346263623930396339336630383661316163303232326135663761366534
|
||||
64383766326134386462666662633965336135313064326536316332646364623430303838333737
|
||||
33633332616231666434613532363963646433303531343362636232363232353161343735616533
|
||||
37383064353839336436663134653237303962616132393534366234633338616634396536666338
|
||||
34633237623662353066613936373862383264393931343830656563316662393133363536363331
|
||||
65636531663838383538656339386134373762636164343630353232303639393130663035353335
|
||||
36333461613031663435656465633934613934363238313462656234313833616234663265343436
|
||||
39336635633232396130623166326662376234663632346437303131366534356439306238343764
|
||||
30653732313266613430626637636235393831323237653665346238373363303439656438393436
|
||||
35343464656164303565393430663930653764303761633737636532313964383037313665333064
|
||||
35393466316462323566626235313637313136323331626134663863636534363666396236663132
|
||||
31616164316666303465653863656536666331363433363163333566343338386130616333333364
|
||||
61633331633965383834356630343237653466626237656164643435343433626434366331346531
|
||||
36343165626664363039663439363236346466343061656137663932363962373639646339363164
|
||||
32623265303762343833343535333463613138356336643563323435356431616366653539643065
|
||||
32623639663137356262623131353135333630643435323462643032663061653066636662323233
|
||||
36636364396465653637396464336161303761633366303339653834323036633666373630343762
|
||||
34383734346436633962636131353235346462636632373461376265633365383861396262303032
|
||||
37376434626637616437613364336536666431663434313238373333303362383538623962396262
|
||||
30323334643064343237663862373034663338356430393935336131663634646130363733393164
|
||||
33383832633630396434386339313331363035383634616463383363386433643334623331326261
|
||||
33333463353133306530333937646238633831376165373735363462353263333930396264383039
|
||||
30666239313237613437363635333863663137633961336235313036306335373166633465303239
|
||||
31636135323965623836383231396535366263636164363737313761613531613633303461386533
|
||||
66653230323962626539343338336533333435323565616536643436336534323730373864666366
|
||||
39356330643562393434363032373338373363383565643934383464363634353435383731636534
|
||||
36313031373365393236363735636234616134646334306266643336376336343464623534663766
|
||||
62376330353232376232346337323562306437303631303833383430666638393835663033326135
|
||||
31333166386632663564383637373266333961353139333662303333636439393835363630363539
|
||||
61623435396638653937343866373165623530373664633665333962376235646163373762373734
|
||||
62373262393562643737653965636462323065343530626132393834633361623531333361613337
|
||||
62653966343863623666326463356130643766346638656436643738613032333462663061346335
|
||||
33373263303438383236353733343766356338323231663161303830333663366232386461643730
|
||||
37306663373262633635326338633136313938666230343334353735313731626363316436336130
|
||||
66643264313239343334323362303165643966383661653239373731306433346465613839616261
|
||||
33313438623235343366636630373963626664356531313934363035303137613465663434333265
|
||||
65393665626539623232616336663832346265613934313666616266383537613066343930656237
|
||||
62653935663234376634316433396631363232396337393165323131633632303330646538613330
|
||||
30356361336432346435366537386362363630306333386131336663623661376163373039663461
|
||||
33353936346462633732376132393339363334313137303965313762366439306361383963636130
|
||||
37366336666330323665653266343662383065396563633238313564363863633165326166666634
|
||||
61366666383236646161306465376635336334343461656436643161363038323534636632363464
|
||||
65666133613437303931333534643235393438323138346130333338316233386536306238323463
|
||||
64613335366430653766343061326361646339613363356563623466343466343930323032303532
|
||||
61636561383531643664613833376636316364366166653365616336336564353130356564323331
|
||||
33383934323166633338316265636363343232663033623732636636373437363837643237653464
|
||||
63393436313836616335373562666532353338313035663632363265653162303233333566333538
|
||||
61613563636234343433323635303462646362383763346264393734386130313362333736623236
|
||||
33613237663064616330303733373434386538633463626332633534376465376135336230346366
|
||||
38306135376539303131663237623764633633653933336162663636346361356664323565396430
|
||||
38643262326132333832653536663535363136646336333236373661346431326430333161613535
|
||||
65316438626436336235353765363233663131333063333330323731366266393466313062323539
|
||||
30393564383430373661613737343634306138393566623830636633616430313531653736303739
|
||||
30373439626362653639313162306237396330396633303761353635396235666333643339393061
|
||||
35313535613264366435386338306633396631643838313962643334326236386237363935376531
|
||||
36626338366136306631623235346138356132666632613466623132353161396464646539376665
|
||||
31623862316466343435
|
||||
33636136346464613031323035396430373036393666656439343466383136353730656631353562
|
||||
3035643336396466653131643738363064386365323263340a633265633438646265623937666233
|
||||
65633062653366316435376332343036303463666336616236343061333266613039323534333161
|
||||
3037663234326337640a366435393738616334636662373632396466653464643735313039383035
|
||||
61313630653237356431326530336139623061343566366265323561343664373536613964386333
|
||||
33316362333935376165623164393534303066653133373861626239643132353433383464393130
|
||||
32356437303831303566623665313661333433613265336566383932326436386531393164643265
|
||||
39333465636664363431316437623931613135326535663731343861356434336164366632383566
|
||||
38303130663936363136393733313937383237393436366531383530306236626366316130316535
|
||||
37303138306166363164306633326163666439613964383432316435346238343037323564623362
|
||||
63383032663665643535613462303534373361373738386266313266333230373066316435376630
|
||||
66643661333033633438623637353130353837326133626438643564643365633166333066326130
|
||||
39363536366137363864316539393230643738346236353064313163343136626432393638303564
|
||||
33623665313162343564353336613963306433633631663262393838643037316231333462613938
|
||||
36613438386364363165396330363865373230323435646631383735383631313163356664323836
|
||||
35323935353434623036656162626434333362346134303266383366336333336363356332383534
|
||||
33323266373863643937366533316530333832666264613936383233346265616563303935333332
|
||||
36373565393233383639643032633237303436653539663834376137363164666434356333666332
|
||||
62616536666439336335396136393063373136643836616666643035666539323231323462666464
|
||||
64373962346131646432666537346265356464613030363231656135323863613731373061323531
|
||||
30353665666335316336363063323437336465663363643965613038333266353362363363636632
|
||||
37623964323738363732356534333138613339313531393336663738633966353531663965646461
|
||||
65623562396465333935306165303635356431343237613038613833376135656536663662613835
|
||||
35346566323532363531336435623761653538636461633535396662356631353338383534323466
|
||||
31656262323736613065326138363133313239663737653966386439313536306530326338613238
|
||||
34326435633862306265613134303030623635393834323762333738323433396466326434646535
|
||||
61653934386636653137363463376633383162356663326638636136363431343234326463353061
|
||||
35353030623530353966336336623433366265393832363862386637636666343738623662363139
|
||||
66646334616561616230616230383562653138396266633338613739326465376366353832363664
|
||||
65363062313039336664356337633439366563333238363139353164323731363466326430653161
|
||||
30323065323262363262653261643766643331646331366562303230373932666538373162383633
|
||||
61333435613830363232303831343134656537313665356139313837636439613063346664386631
|
||||
37306232656335633630646434633235626266663032646364373830323465393531333362663138
|
||||
37386661643834393563336630313936333066313136356164623232306234633037343862373333
|
||||
65663763323662316336393030663361373039633038346264333534366361336239633135306666
|
||||
65623566396338313134393033363564653763613233376662343437353365623937653438643633
|
||||
36623134303739356335636139663138373735613061386436363061336439653333393331303937
|
||||
31303535313035303863376662383264623761373037396138663132396266663834633534656538
|
||||
63306635346663333436383263323033366163663663386435313233623466386534326266376439
|
||||
62316537353832306564663961343536353663626461366133323130663338303961633330336266
|
||||
64666334386139613463626666613335383062323266393165306265383863343732303834663237
|
||||
35643034623765626532336430613264373233616262373036653462636630343865646539376538
|
||||
63326363383063336135626462313437333365616430373436376235646463633535383639306139
|
||||
63623230373933356633353733616636353466376331663561333365363664666136363237313139
|
||||
39313833303430373063396230376236393363636362623337366233653562316566303663663436
|
||||
35663631656635333662333939653236346539316132313332383239366439613430646339666663
|
||||
34363736623637383239383665336466373661323435643631633733313039663933633665336237
|
||||
31343132393435343665616339333330393934306663373333363337393136633735363638613861
|
||||
32666535656632636131366163663034633839643465613831326634396331336464353838646533
|
||||
33393830363035633766663962326463663733616532316366376232356535386537646437626633
|
||||
32633334643335643032313363646562303739633435646234353635346261303665633566623034
|
||||
62333765383232306336323662643135376632666339373933373365343135653637313330616563
|
||||
30646364666131313831343435333465353263326339316631393265643765626636623738366538
|
||||
39663161396431386331666139616231366331386338353631383532386335356236616631396133
|
||||
38633537323335393032386331396439623136303965366433373836366533663638356133646264
|
||||
39353166613962346363303934666132383835346132373265303566323332373630663965323636
|
||||
65303666613065383739643332323135343835623530343939656433383033303661636639383732
|
||||
33376234376163396538666232613865353033656466383135613233336665393834323635326230
|
||||
37613936653133323738623064333930316639633030623937306530663933323735306264373462
|
||||
36393235636538323036326638333739623030633361613931396238383836643864323233623862
|
||||
39363030633263303462393537356439653930303230663861626165393962656165393263396430
|
||||
38373566656163643335653163656163653136353836383865313631353332386265666435663533
|
||||
39343464623461363562333064376233346665653634343165663763666632356132393339666363
|
||||
38616662306561643339653134376236633166366639343465633339626331663637306237626364
|
||||
61393333316631346665376338363632343163636463653064343332306338393031666131623864
|
||||
36643832393834316531656330316663306331333062303365313437613963626431343236313432
|
||||
38616264363637623630373665316662666436326233373466656663613964656530666163326430
|
||||
37303430343331306631303764333139353663383166663332353664376334376364333033326139
|
||||
65663964313030666335393461393163643665373262653866373535613833613935623962356563
|
||||
37316364623964383862366538303961666237303662613931386464613033396337366431303732
|
||||
37646361393738343963663536346438653530396266343339376631383639666234396662633637
|
||||
35386230356536623937396330353331633466613966643962303733656132613131366132633961
|
||||
62383234613763353633356666613135323162383232636439656633306334343539393730616263
|
||||
30656634393430616366343033353833393833666636323333323466303431313839646439386339
|
||||
65636138633134616530626664333964303062626562383537663363636236363462333662353735
|
||||
38313430626232333265366665366532353437636163336332623336636464633538616334393262
|
||||
30663839656534613930616261333665386138356635366336336332623539303637393439356133
|
||||
38336430633963373539633066653066646235313766643834646233373230383963346538646231
|
||||
35613532383532646461303331383736663733326537383634383039366364643564623864643936
|
||||
35386161666433363866333061623133303733323531366235323231373663363837343138393030
|
||||
63376333613563633031393832666439663338653235343735386434663338663663353437326437
|
||||
66396634373031663731333733333732633031656265326535633034313739383164386462323239
|
||||
61393939626435623331643539386137323062656462613130363664613266383134633033613562
|
||||
66316136343466303233356336613964343966386335323237366631306262356262343264633335
|
||||
66643434616465346134303233316461616232353136363039656135386561396432626363363138
|
||||
66313166623038303337346435366538356332633663313464323364636634353033366563313464
|
||||
32373033653638353464393737656633326236393231643963626165353733613033353032636161
|
||||
34666431323263323163663934363039366532663666656163393032356362363835656662626134
|
||||
32373133373062666532653032373234353233363539313963616537326366323464613433333138
|
||||
33383666363235336132366562346432666664316565353665643233346235343233323563303265
|
||||
62623535633237303834663564343739363132343565346364303236663937666538346661636434
|
||||
35653937633731343030643764386532626638363265366666376532363662383661336363333131
|
||||
61653835363834363131303530323938653263373066373438633266653061643836623064303462
|
||||
31653838353938313436363061393861313766633364323231323933386461363232303431396566
|
||||
323633376162616632303461653333636233
|
||||
|
Loading…
x
Reference in New Issue
Block a user