From 17f0ca874e9a1727a07d27056cb7f5c10951e2c1 Mon Sep 17 00:00:00 2001 From: mg Date: Mon, 28 Mar 2022 14:48:31 +0200 Subject: [PATCH] cv4pve auf systemd umgestellt (#344) Co-authored-by: Michael Grote Reviewed-on: https://git.mgrote.net/mg/ansible/pulls/344 Co-authored-by: mg Co-committed-by: mg --- host_vars/pve2-test2.grote.lan.yml | 7 ++ host_vars/pve2.grote.lan.yml | 2 +- keepass_db.kdbx | Bin 50622 -> 50910 bytes playbooks/3_service/proxmox.yml | 3 +- roles/mgrote.cv4pve-autosnap/README.md | 3 +- .../mgrote.cv4pve-autosnap/defaults/main.yml | 2 - .../mgrote.cv4pve-autosnap/handlers/main.yml | 26 +++++++ roles/mgrote.cv4pve-autosnap/tasks/main.yml | 71 +++++++++--------- .../templates/cv4pve-script.sh | 7 -- .../templates/cv4pve.service.j2 | 9 +++ .../templates/cv4pve.timer.j2 | 11 +++ .../templates/cv4pve_mail.service.j2 | 8 ++ .../templates/logrotate_cv4pve | 12 --- 13 files changed, 101 insertions(+), 60 deletions(-) create mode 100644 roles/mgrote.cv4pve-autosnap/handlers/main.yml delete mode 100644 roles/mgrote.cv4pve-autosnap/templates/cv4pve-script.sh create mode 100644 roles/mgrote.cv4pve-autosnap/templates/cv4pve.service.j2 create mode 100644 roles/mgrote.cv4pve-autosnap/templates/cv4pve.timer.j2 create mode 100644 roles/mgrote.cv4pve-autosnap/templates/cv4pve_mail.service.j2 delete mode 100644 roles/mgrote.cv4pve-autosnap/templates/logrotate_cv4pve diff --git a/host_vars/pve2-test2.grote.lan.yml b/host_vars/pve2-test2.grote.lan.yml index f5c8b0a2..3d98b58c 100644 --- a/host_vars/pve2-test2.grote.lan.yml +++ b/host_vars/pve2-test2.grote.lan.yml @@ -45,3 +45,10 @@ systemd_timer_schedule: "*-01,04,07,10-01 23:00" - name: "hdd_vm_mirror" systemd_timer_schedule: "*-01,04,07,10-01 23:00" + + ### mgrote.cv4pve-autosnap + cv4pve_api_user: root@pam!cv4pve-autosnap + cv4pve_api_token: "{{ lookup('keepass', 'cv4pve_api_token_pve2-test2', 'password') }}" + cv4pve_vmid: all,-127,-112,-100,-116,-105 + cv4pve_keep_snapshots: 5 + cv4pve_dl_link: "https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.10.0/cv4pve-autosnap-linux-x64.zip" diff --git a/host_vars/pve2.grote.lan.yml b/host_vars/pve2.grote.lan.yml index dfaaafbb..ed3618fe 100644 --- a/host_vars/pve2.grote.lan.yml +++ b/host_vars/pve2.grote.lan.yml @@ -284,7 +284,7 @@ ### mgrote.cv4pve-autosnap cv4pve_api_user: root@pam!cv4pve-autosnap - cv4pve_api_token: "{{ lookup('keepass', 'cv4pve_api_token', 'password') }}" + cv4pve_api_token: "{{ lookup('keepass', 'cv4pve_api_token_pve2', 'password') }}" cv4pve_vmid: all,-127,-112,-100,-116,-105 cv4pve_keep_snapshots: 5 cv4pve_dl_link: "https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.10.0/cv4pve-autosnap-linux-x64.zip" diff --git a/keepass_db.kdbx b/keepass_db.kdbx index ab6d069becb8ad38db8f6d146b14abad9df1b678..7571f41048ecd1f61966f0bef2747f25dc2c629e 100644 GIT binary patch literal 50910 zcmV(oK=Ho=*`k_f`%AR}00RI55CAd3^5(yBLr}h01tDtuTK@wC0096100bZa&fbV# zo7MrhkU^sQOEYEtQlr8oO}(p?l-5}+eG~hW1t0*Jy4SweRnmF-uhjcwZn^+pIu0}z zkq(YnkRvDxkh;JI2moN}00000000LN047k2adfsGt!sRQ9NjTQtq33h>6p}(Mzhqq z2w7}Ee6vB``MOd1Nc#Hcg{CImBCatU2_OK^Gd#ct=44YFJl`~rjxmWBNH4=BJ(ZnnyEuHyi7U9RfdJCW?I5tk6*K31a@K&aWBt&jy77k_*q6NC?#=;l>1bqrFiJOyF# zY;2_S1YQj(b;xMF;nJUcvINp}WYl2>M@ruQ*b>OzEV(SN=aHdeD)HE}T8(`7i{F4v zP397NI(lVxMUX-Eu9Z{b0tQ=M8psR;@jKWW9{&w^(VWT6hO;4R28MT)$OOLJ$_leR+Ete1$@hAGZe;!Qm7itCk6OmGo_OFjv51inOz*1`fujTvFP>$ zGDo-9IYIPFs3m`3lI@S{&11=YQ0Dqrd^Om%CMuR_D8Gvn#9EL_4!|OiTZd_Q{Pk`Y z=8?RGJE$hl2V*FG$zx~HCBgU6`!-guuwn9B^tBb);klZ3n~*h@^CF2(^jeDJ@m7+K z$Ih!jI93JEGq*bZOtT(T>KPn<>8g`y6+oXNkw6u=(qCJ0M2`2-@uSYAfXK9iCvm*ADrRYUdRh0}hGkN_h0zA0`u zP@0t}d!sISWd<{3|MOi2ko8=%V4^->4kRb31QK88H9fQ%G~4A#+jTu?WnL`fS%;Qx zZ~WgOs7TAQRE-sh)KS>n3Cn(>$D&(6(F;~Vf~G0W%B4DByuhxkn# znWJsOs;00NWkX}Se&~FDK^LU9o~%cqG={GeXz^0`(;%Y#nyYvTt+SEhf}U40S%};0 z8u?wN0D;{+porS>VeVZVthvQno2X{c(jO$xryI@Wd-?lrwmg`yPdeixmAIH}-uFWV zq8ekeyQuKrF2;q^_95wfV+*#%SjP}Mix2I&TwQrf!CoO4^r4ENZ?$GW z7%r22E?e6#iZvOp8K(aYt>>(WrVvj!h+2AalSN5( zWr?E6ve*xq%*aPK$0fLKRc?^}=1na#CTGQN&uMT2??~8UNN)@oFm$7v9W}$uuMO@G z#WA4*A^bQT7WMMOqig|&CD@jBPsdWZaU*h+P@$^-BuCyGoli5$9&Up$c%Fd@6F)$3mQ z8h`9RzHawf%^|dUHIc@i{!*_OSE=znWpl=9!gARx#jQ14(Hzuas0y_`D^2!as@j%A z;Q>E~6Eab|0lRoff9ER(9t{M%3n2LBCGjkdsFNY|IwAm4rEg?E`3{Lq35d zVKi^*N9p*fG*F?ss~(S3##vEeYossK>4d6sqswKBMM_eldu_0($@^PYXJeD={z4gy z29EsqM2}T3)0Rj0n%ZTDPIWhIRQg?>35Q`PEva&yZ!8u^%)j8J=Aiqe$%VB+Ci!w3 zJkQ~a0q5Qo8?2B2**~Negm<16`#Rs%8ukX`;!^Jq8U?{cNWIxwzyMI=BgQta?6rl7 zH?to)CE)}YerRa1pA0Z?!LjHcqMIK#lAlxkR<*PkxqSjI!2$mE*V~N$L)9a$AEXK$ zUw<{3jS)H}ATVWTeN53C=`8uuPXoT0evqnWPw|He^MH^eqFft%${&1LZKzk0((I+4 zaV|RM%XeCHkL@q@Ls*=GA1zD`*nF^3SA< zHZiA#=p1_((<2^u5DSYxrj%nQ0FG>$qzy%`P^o3C(5|{J`IRcoJ5qU7t+*g;A_Kf7 zE%O1O;oQ!xl>5fV-}Xe!PG@xU`hL`T39ok#IM2wmNgG!K;Jq51Gfo#ibKSu8tq|lQ zl0a4EL7`~SP+G^d9jPz7t6b0l{HU1C16IxM70| z`pHFbd9LDWa;xW(l23cn`V9W+m!ic$zhYsiUl&dg!+#D&Hf3|u>>Iqo?KIXs7U2}o z-T7e1?#VZcNma@)LbduMVH7P?*2UBc3-?1`(FAHZ1;=z$$Py|O{x!07afFP99L zRewTdX=W|91~Y4OhWmU2#s#k(}n-z z9;+wUJlnxr8!~fIHHZemd{9#b;~puYG=ofw=kSoxlqt!&pJY^t0+3d@&-Wo`UeFCC`G z_bsHbl@6G}#g{}7*d-xK-6Rx+8iUdb(ji-g6wOpw%X}qYmqaBDm747}*P;?B+bZCa z?&1J2kOCrH{Q<2MNL(9LW9)c*zcceq1Y{zaUCr6}C4NwVe)m#_VYMfsL@X5tFoyUr z+T1-)Cp)L-wQuz#nPs&>YIbyUWa}*Uvn%EIhIKLFJZWzkyy(L2y;XZks&LNBb+jPT z8iLH;hJ3G-H0y^QUnXHWl20hBH@F!d&45ZirlsuK4C|Ha+Nb%)K`jzvL1xOsK_vcq zdw4*~yZsf}!fOlkA2=tWH+jl1p_cjmz!IS#uuFUmABe|sPpO4j`*BHuN~#ShNx=$Y zmz+lAbNUa@y*Jtug~D-xPgwUYj0wD@RXQs)x}c=7vBzb!w$~1rUA!>;t&tSn`p!jRPQ#3JULiEBs7*sV_V;o? zUboGl__vu}r(iNlIY$#2(?cn|z^VsoRcM;AC>zC%fbd5yJ!koYS!=_>7zjhW@~})A|9`x=SxNI> z@X40|c!p_gq9%RcAEoNp=GT{%$KNicZk-SvF+rj| zp6uD_&RnT~hJQ}r?NyNXTq?OvOqlsY9(jStL49oWrirUa48!7xmxbhFTmHLWwi7e0 z2}Bi`xH;1zEdzz-p4H>}Mf!;CSXg+PnR$ zwx9LDJaNbmToK@W;XKxtQ+qN;(5I&9dOT!KQ?&uBkG_@ZP)u&JD^?PZBde7(JU#W! zj|(@9`Tu@TbgC(MmrVi2_*Y39@I!bXym=luyBZ+4OE!qL-Xy~i;X$Nn2iaE{hGm6Y z^y)QJ^$4hGln(<5R=(+`y#Q}NMN1}G;7!7_E4X@oQPZk7WVF5ERRZeh6UwJdCB7Ae z9b_WRb!}^e!+!n5Qob{M)|92%Tlc8fK#zj5-Un1DPJ*J9B)Of|n1m5s8^hxaJt?Lf z-$t87UdpR$y#7r=UI%6Cb^1$06#M?)XKnwEF1DiNkq~@ZT%aPv!!XX1tSlk=hrtcQfFya+xx()9^5eF;I@k;$AC7sG{ zbm!JSC@Irdo1@ek(sV+jZ>SYW-;6#RyG>o`KS+;)j>sh)|rnnz+uhX035O2@DMn1 zF_OY{i}FtQrD`e`;Ln)?>fiNI56bU@<(KVwEG}@?KwW-!%g18>3KszfHKir648dmF zepy+`0>x_e`~n`XQk%14ztk5$UmB0l6>u{E@u$5391b$={D07}c&Y$WQc>MVh-Ca} zXOCHwI6-lbac^8QqkgP>MvvnmB7ZfrH@P%!Vbai4{LFf=EjT|HsNr!rUrKj-8;~|956+k$x%r9y^tA@usr& zoXsT783V7V=Wgl`nJ)>&)HH*-d&b5YB-Q}7)RGg#Nn}IPagPYC{j;Z_8HFFQZ=>4u z3exrjgf~S7zgJy~*#`9MbN-Q`v6fx7*VIVvnCyNWN}T6t>e&Hs-c$| zsn-t$Cg`U97rN2kcFfS%bb+Dwb9pBnl{8R}cv&vK0u zTCs(-m91PzM7nt0_Km0W-ARku>&U>sqcq9@dL?W{6P;NdS~_ngWn0gJ!td5K^T4Bn zwpQ__pi$LU?u&{L_R-e)IV-!RpgZe=CxThe&if?15wk;EOTGK+^~8<8;_FC6Ssr4% z31CqJT{TA8Q))cSBD9{kGqd#f*SLB2JtF$0ne&ib`9G%#Tw?)sjXu)3w}ryVQx!TC zf3(393}H|Z`LCWJ<~UyjJmA+^m>igo^eomfCa<>g{_N6K3BVNvyZmeCZnK`-%K3!rLqbL( zGH>b|qApHhaV)LHWy3{Iq5nLd16?@_6_b*EuDg%^EN3JO&|4i zZ^Dw>9S>mKF<-ZjAKAc*k9S2IJPeX$1GG@A6hyBL*Frr7uUm?58fG6ElgKGL(e=j-apyY77G$>AWyi0g@VsG9pFzC^+!i|O zN<6eDdTR%7HgZ1^!~S`fH?Na-lmP80$g}$0p|V$;bS@Nug+D-Md~3~ZxVZ@H4$#{trxH8@>g^O& zkIrapSKRjN_l|1M5Uv)#VCeq1%&7sK{Fz89`uj95U9_Tfx~JYV_^RqqNiZ7gW)j|b zM>=KMKeM-b>f;wcv=G9qBnU8CTC@l`stIU^C&?+PNpMdFn%1#Q^_rd82P%^^m=J%) zaMwdt5pCm%tOhit5_9=O%JcF0&q|^fq=9seEaQ%X$mXCmoI=R`eo9zENwb(_vS@Gj zg;~R;%Z?HwKFf0~@Q`<#fTm~TKPpqJ7VwmR44veAy9)lO7&Hq3xq6|rvAkJ^v$7N< z<0}2;H(KQ3M*yqz+LIqe?ujtgze5y^EnM<@V~jI~%>KU85w*Y>4^W!(q8e?>;Tz)l z!194raA*yCl{p_kG4G2eXS16aeiIiTK9o(dn2%|+#L7`}ctJDtUzwQ+<^Ue5CQ_N= zh|7$VbriXyB}MIwaI+lns6J+p8`QyWQ!%Z-cvwNrQGDuOKApDyKgU%_yJZRB;PT39 zLx#+M*XBAj3INWZJseDgT1mRRjn`wNP19kFR z8`-98p*1|=U_uc-SH$|UK;{-mdpTi2f62_INj{>@Kxo4a>`r(bydXNS`_t@m=M*s~ z7c&{)^QB%Az&20$|4Duqvy6C=?LX0$H+Hkl_5<=?*@rS}V9Z7u2>)_P`V-j~EJivMFbfO;r_&P1ak-K%UAtl) z+EdeGw?*r1mShszS1uB2J?LB{vZAR~4(!NijaPPkY?u^vD#74@#nUGPo0duM!cVD0 ztz(hTgjKs-7Z_bGyNCd~+S@&ml6s|}`{1b?j(*1woeY-=Dfn9{G`NkMm6dr@-lQA& z^l{xR8n1n3>8r^SSq66_NVe-qkAzC}X3u@4KLc4ubY_AW#me<(*6yhTqBEf+BenIW zl`GtzLX-t%hJ&r3VDbNpu*+>BG+U3xS3pEPgz$w;kuY&23Dxg5|2bGUmG~ZN`D;jNyP6Tf;r{rUl-TCkBK0o zEP-fbe{~8^yz2XrL&s~-K27chVYKm(D2F`u-376asZLj*18F5hiQ_TAm^FA}yQ;BA zwSaw{lj4JNvuMH(UOw0;DgDb>_kUOTfpLolv>3!S;>Qd9Vj~BMek}PMqMagXM;D-N z9kQl4nYA3tHqk4Sx@oJ4@HXzm%xrSdkh175@){W{*_TNqUuXilEVa56*ukSYkXMYw zWE{9*lq+Q`cb|v{IJT^@{0;35_ooGsK=eGEUOlrfcNxzu{g2k!oO~)22w06w-WqhQ zE1)zm>q{t$nkdmCo6=j*KA~SN5BDEp6dTU)kIgERn!hqCYtC597i14jo%ny&mk>B@ zBO=Q4+gcwBY#@G_$W3YD-6K9!Wo2sW5WU!2Q2Kff0Ie@95>Pa z(xqE)i&-v@fxkIGX&{uN9`)P}N~aEZMRcth;O-jFZW;#I}z{?YC#V z-RWSfRVgfCVdlaUNR_E>DAIqQ%EZexzn(wyDdfk667o$aK%^~xHXXlmAC@$8c5ij* zx}1t4jWV_XKhDt0E(k$FCYL&eH~NUnC(P+OX?wpMX3bwA@glUv4^clnKsu5R~J z^^=W@pjHziF*YAapLNYB_0UGF#Yos+6nN>IcC`8&1bV%!un~*+-rNfx4I-wHTPQr4 z@ysya2B5R7i{3i7+}RA$Vj0(Qhm!gBoM+uNCkVdanind0Jb#v&u~@2UKEH|SeXcb$ zG#4SugZEAmU&Unm;>+mfY`fti$i!~8=5j%Ixd*!h0n+2(RYHJRteghu=Pd_C&+ElA zvUiJf^aC3C2LMC|LTp*|JzSF628s-X-0P}@nRnQRI^Hdbj<<7FN{C3a)To-E?AZ={ zUPqVE3A3AmJ%t<9iTnrjF_W0nlGuS_ z5oX)^BC#b~n$*vM*-GRXu1y~-a8^ni$s4BoW0IyPy*3)8CksH}u8>*9gFwCV>6Q(x zpPLVOE!FZ{bN|1b&>y9I=@~Ck(JD?$76qj`)8>N!IH|j$I}%TyQ1U}&9~b+-kDw6%=mxpM-2$WXJPX6#oBl0Woh_L%M!8; z;bC_Uv8%it>#UsH2kfn1V#L7GIb=dVtIS(#7&P(iu6~Y9OxJt&LBGk)&is~)ws-QV z_Peut(H}F>$U(mAVyFZTJ>2AVt2Z6CW;Y(_!;*iZw`J4;oHi+UTuhtgAsGfUwDh71 z`MyAyc%4-R_+-7oyp0y;H?8?xfNt1Mcrqiv(M_<%8nb-)jOwKC7HY_HNbR9mEq&f@ zZ6?4`5oYo}8ex$85)V8f^7ka%g;Ur^!`H?~9}CS;_7#&<2V@(94$ja_5HENM*i8f{ zq8NHzs51RQm9`pcc|c}w1(z}4-Yx?0+8mlnK((eO|2)Lv2xXZM!YzJ6%uYxRw-u_v z3#$S(niYt71i3=z?Hlp0=dcLk05(V-ua!XboA$1L_U2Navvv8b1Ci5e$0}bvibaQ8 zDdV{+o{)g(dr3n@eh+6CG~tl*8!pSZ;xAocU|W&HT8t3XLh>wQubcNL+@FU$($UlY z6}T$Q##$VM>nNqbV{|8`1yi(}NUEBMguOa@Qh9_VI2!JlwORLrlt*L_fk=&3?=WQ4 zCG@M}yIpj$kdlUqB|?GFN0WjpL1yWWgbH=M>GVGU-Zsh4Sn@s229iR+edwA3$bUUx9*%GRyvqf=U>9A?uR!Jm>X?4Ul{8bx9BUp;y*Q7!8hP#%a z!$==#J)9a1l!Tp{W1i^X|M9D&QSKl*F<{*5ZVcR0j=+KQ=+OZ`mVSy9;-7my#6@^( zdcq465I6${^f|L~6Dg?zd8OB?$HS8lO!6)fhSiPDcIUP@D%PW6beU`XWMCrFio|PMnrFye26vM7|SW?2}x78rIFeBpO&@YXJw`_17zMyh*}R1^2Nx3U10T zC~4G|l~z3MmQ9(8p+348aLZH2w>0nL6U@n9>_b_RA~ITsT=)@d8A}3B@@C9_3s{YyH!ez-v@#YqIe|Pk3gP<(whaPXi56zWXjN71#6oG%Zu->ew-{))n&0;U;kC6%T z5@Oea$A!U}t<~d6Lwddr_n!FW=;8c#P2Wm|lX?(j^~Py^S{-Rq63NSys6=V>Hp}mE z`CZemaJhyKRuNM`RFdKYeqzLFNDgCAo0v&FB2BizSBg@x835`O@2PoH_(!c?s)#%=aAp)Ago~Y>_$g z`Soudw_gutUQ|prtuCi$%qJe2Zzg17y=Lig^!4rb@-?8Pv;MkHLZR^kuty6(sX`zGj@ta)cZKoOqn3{>M z3ek{z%Cz~<6 z`e-TgK<%b{C=2)J*tt}j(GVQ>O))^uHNOj>CsEzXdF(rjJIZ`@EJH)ZKZf8ysI`DI z@8t$+y6JhncTSo+a#Y8{ONk9+#N=|gzwRJ!E<3EAW2v3dhFkRuz43-mp@($TiI8YL zOl{9xLY~JsTzqGBwWR!R1^xK+QtrxYzS7b#nHotj)_;Ti1xoXP66fmG9J zw0|SiA$Fr0;01Ly|NW9Odh&UL)tNAZ;tj4JKPGdtD_K!T8l*aCRBM7?4f&r2R`HyD?M^N&KyP+-ka%}2 zMm#Q3oL3@pge&;hg$OW&tq!}5( zXG_E|`OULavhcE0gjwU_D7C{4b^_L&fHJkWpi@nGok)EK2nhJD+M$=XM(BLz;Qg?X z)EwZYf_q^U@W$bNmcTe3Z5atV&xm{AO|G*0LSxOjma&pNnLA%j@+J3&+GhxY-dX|8hIA z2v;8!+%Bs-H-sXJWiY}SuPu_9Gl-^_GCoEax6uHM#|V{Wp##=?#KvD^miVLXJB`Yo z@|%g)jJjjjc^R_Kem8pwP-PhVmRoU%doZk{nJ!I^Hen|H3_G>Lry7$w9_$Yd4Zmnp z$FamZ4YsbW^tZ_9ZQ?<}u z>`*^eF-@)_#2!dz7^o&SR~)^vxxIj1kSV-rI1cWZt*SLa7Yzj5L+Z~?> zl2nDz7N-l5vR4R_83ngI1&fhXbRUT-K#ob>K=1~|bP%lWm_kG43W`IOnt~~5iX%W` z373oHPap0g@%U|`Z`sWKAFEa8wic)HN=4#i36rUc3?q>{{MU)515>~9H{47EV0}Oy zEw+$l0Mq!Y5fn<4%0jTprwfB)@i$3?GoCewR}G9V51()qGn4BlIys2W2~n`43B<}Q z-hSdq3YN~j>UymeU6p1t6%UdS9!$3ZnA27?TjEWEWpe>9y5?N~S@j^rG@b22WGC84 z%H4GY_+0_l$@-i$@r{>%*J9iqEk|HwIqOJ5#^piZ>~+yS{!|phD!Z;6TeIkVmMa>9 zh)P&vM%;{BWj^BRJJhDt<9mCbT5;~+cl{$AR{>cMv^eVf9P<{(<3yZoLX3T9i3o~B z4T2IvHq=o;DlI3$B#=xveD@s}1(SGtFTuOa4nr=wR<<8%tTV=$DHMlU_j2}TOz4~{ z$1~7Q>xdk_c{M>c=_J(s?!yN@=S}6xbH{dV_t@%#jFdHqVpVeUBY<#6UEDYH|B=II z;WysN_9wkFx3^Cddk!Z&N#=2obDcI*3A8Z1$DOpE%j;?=F-9F_05O-i5NOPM)OFPs z!Pt%F&(E3@Jr!t6TvQ)beUv)#l{{sI>LvbH6rQfVl}Zq3U_;E9cy6VvA}dH~dC4~$ zTv5O65Z!MCz249qbsW%xMe@9U0h!eN#3}bX71J;ym-yyy(be8VFySds~88nVRr)eAD9w1>HGJWQ%X=Dw@gfOV;(V^=sKAl|{j#0kwwzbAN&J_3{fA}~(*j2Vhc zku`3u)zxGpOxudm7QNwpxkbM9l@fu^@w*Ia=w^emDA@1%D($7veJ~)2b3oH42Ivwnp#toHgvDNRG_#i5OqKyw2R7SsgiOhs#ZK9(!PB?Y(eR^d~2W4_% z0A4MuRcU@Ud#J!PvuTOQgfCrOrSS3&)+D+}!G9#jS|8p?gGDiG$d5wduM3bh(Fe4_ zaZ~c_$mfb`zD(##cMndI@M0@n+jf+g3lT*qLRSx%(H0B$=Le||)W=B8LslOM^_h(m zr3C4u&Kj@o+tY4QAt|A<*G$|UM7ZKJqaGmw>dmu&hLa+vjJI>JFwB^EWls$gv`ScE zg!GUE3%(zh$wvq)p)^Rx-3Y#^Tax$_z&XHO*hb7T@4A7DFbfWv*XJTq_qmbDVNcP6 zA08+{^`WcU24U1kMiA4B?T|E#T}E5n`0PH9b5AlyDn|-W5s&iQ_S?(TNL_=Ezmkj& zL{ArhT_IM=E9|gtgGbZx;xn{aA`LPKP}(6d)vOMAJZea=|(u)q_`W<80l==%~q=nKwAi$_n;lPBUV zXfq|NISkpKO6khQj)LU*(nCo$R0NIQIS~uSB%laybydG7a}ReDxK-4hZkNcvwex${ z*T?NL#aKDLs)3$kO!5Pw2q_+0jPh>8GYthdeWjlZ(9fxwZ9W3)&m){*#0p|gzz+FJ z6DbcVkc^6!?>1kofcrWxX=tp6{B28qC?*dn;;eyYP(_&i6dn3H)E_-#_M9Elfvg3v z61{idGS)=XXDX`pnw{S5z?{rfgu+9q!CL+m>!)YCCn<<8crg!+4<0w(&xb{CH|CH+ z>J*)|X~3Vydq4Q(0h&K2CoojI({h!{S9CnWV&n5Hznvkl22>A}C-))j)mXhTlg;7igd^yyrKecV zavHYTv1=LSuh)V)Z-c81MW>`dzV!H%A#Y0MUo6z#bd#}9w>nY{Tb&GYwhTEwJ$H#K zO*Z-wKo$eh^JTxLj;403GO(guP68os80HVSJp#<>btkYkAZ6vAY~6Wi>zFl$-0fpb zB!{r)xo4GCpvqVN>*aq5A`gL6KFj<~8yr#a*!QtDNSMDsNj}pM>l6B3NqUS$SVP{O z0zZ^-U=^s6${7c2saTsNmapI|nB+ncHXeW3AIhUK%Of&>jET zRi}GAE~Crm8brPq6l`iI439B6_*w5f>03%GX6xvpWBK52$LfH_bWMFw5i@mKxQ4l| z$e@$l@X0!k_&iMG)x=zsIMj!o$c=GtN>#jgUi6YUj~_BWlmRRd(R6PRl8xyIv5MhK#XjHxj3|FkD) zNkus!9jtTZhjkms98Zdp1Kt4N!j$0Dx96BC9a(b#D!;uk?Vn&l%d}sg9q7i)BU9Ob zP2U{!^pJUg#+YDLiKeA-5c1yMb{#wcob!QmzP&>pc&GWB&7qQc8t8i&37~59Le=3( z7a0cV)R83Yh@e64y`8jw|tsaB5h`RXTab`b#{Lf%lvwPM;y=mQt*Z)kTjm`8iElA}t5yb7_ICuUPu zd$9EpjurY2*#B$n;?ZFz3h-8TrwcqSnYQrO9z0_c&#(=8D`FHd8e?hEnkF|J@3?H& zw&dUUl=do%sUDHxaR+ncnm$lPv?f2Z?b>@by>{2Tit*QH;mWEnokaa~L9cJ~Xr^hM zol)uwM+LN20S2QD1VKC{HSfQ5$S&?N z-0JJbP16e85fXB8D%)KY#mt_h4Nyy$HR+MDDjYsK>r>r=epop#QCL%r?tDU!sOeJX z{~u3Nh>$;38u6cI(V_AKWPFK+;9Js-=Qaw=LWKZPS*pqEiy0tRuA@`nkKA>(?6$g` z<+O5Q{8PqZyG-2o7ad-^k$|>Y`R*l)GOWwwoaS$DecSEppKl{V%@svnGtJYRUuM;9 zFxI8Joa}8uL)u563~#NwQ}F+wUkk-P{cwn3%LH%*-c2m`7!D{9owJemj~~|(Gb#AW zjYAlM$Ai~|0Nlz<@nF5YSUq|f2Wu(V)Mnn2g-3&(GQ&D`(S&7_a5&+v{iq~9AZdbBXoVVfaOHUy zH~M0dTFbG`Bq}{R24)wH<1A#D_{3xUN^A&@A692yIPP~;pbFapArGm8c#3iR;EE>^ zU&ec2sWMJXLkb8C(ukq-0DK6Nsb^bvkb}3s03LSpt7y?~ekhK|Gviq6 zYGEa3H!ud8-@W#ltr?n>x74&pS|sfJs4^Kf5xJ@%9s&4{$n?1IG^9@8jDLA$Lz(ZIdfLhl$calW)Qc-yXEv$>n<($PefVvaXymNFopis~QH= zKfP7P_YCyXiK^!#>ghQ79=fK`#do0eg^Jdq2KDFK9TykaWWb4szo8zV!xpQ2JaVAV zL1CFBaW_}T!-Y+hu`3|q8I8X=z#OqeZ>H#JPsIM45g({@qVj19N%wy+_Oh)r&+dS( zKKF>R;Z|U_EM(POGsz_Fd!_mJ;z3u}V3)l#7yvOrHBlU2OBwWnLavhsHwe=;({gi+ zdCjcV2Bv6C#X0T?D)>`<0JK}C@-TWfL4iEq8Ko4bGahvZXpRUY(cKhz>>Py(e0!LfrIw(-Dt#Q^)r!s02fW9CW}{<5@X1x(B)G(rPwtxW7TVN?P- z7~4268|gpVLfqg}tS&O-LP=f1Kw8{$882M-F^l(|c2iIafvR|+!gHf~kF^EJ2Cgem z%K(E!jgk>fz;X#$OyoV=&AkCpRn8qUQYJ+L48XbKsg(lnZEF6(b;Q_FdX_EYJ1f9W zLs)`HNf@u7(ngvrv3`bwgIPRY%v8nW-v<7B!;>hs>R^eV~pH-~b zV%Q6Uy*xO6o2(Lp?neT>I~o-Z1r-`%7oD$LrX*JOCjCcqe73J-VXT1%^H{tfEVP{4 zI^oBZ_oZ!lr#hR#C5=H-3w6ze()C^jXsLAehI%q+K1&sHYwDmC--)OQJ}UJ((70<0 zmr_1a2S_c?e1+6kw;MAuv>`r(ttW2tq;pcsgdEj>%gLAXDoSwaQf4qb9COi^V|eLM zoXIxSV+n9-F*%o_Jk$u>nUHXW!1kLMgC*&sNSN%ej0lr`v`lsozNWAus1nF(kMUHc zE3*IzT>9|O1#KGqrZOpHtZKrg832uTdTS|#B*4P13;}6IgDG6oshh5yJ|Q%hI6z=$ zisb&L0zOZ#-fWk2QP<=j8qo5*Z%7tmu zssa_~rE%F4Xz<(U15Ixd^AIWb{=4+oj?MN{zm4!B-3D&;ZPp7%lX>oXhfu{9ql zQ&jVymUD+jT4NM3fwKB{;fK9KZJKaPrway%Ou1d_eM}=o5j2V1SKt97*ZhxAAN-Un z$4i9sh$pn84v! zx>^DG=iR^`?KSC6QC_%s1}AB8q}bhQ?#9WAO;&p8`O7u++Ev1dk6BH3IGPlq`y~sci%mSxhRo9n7$8+N>wR|~@h2hYS z>&)0j1l1__lh2p-ke!J%6y>u5W{~m%UNK4mtZfS^`ZtQ|c1y6WKJSb~0wj;#Vx=Rn zeh|RMOvJ5S|MJAhSNHQ~pN0xywzZ_nx}Q6SR1Al$_`9KO1~q4(0-^CW50G6oUKp#i zO+3b=cYRkPi1w$Z*3{4<)!|5vC}_4o0TNssikfZ4%2;s#ci*qS9S;aC@bW@G3N(sK znqf{M_EgaIei{IBPRGg%1>XAglf|1evLW(5My~4A^TG0jgqP7+DpSt@er~N486*TPsvLw0Yrb)pldM-dbl-OM&ATce z5V?i9-!^e2aXQrA_+1||VjVNHz-nmU&qAE^W<|6%)KZ@Yf&^{ufb6Xqy$NOpyF(V% znF{gzsE8{_KR7%Qp%1QoD}yvh-gxh5F$0jtaet@?H|rIumC?nY*Zaw-d4wWPNEY4V zUE=|QDhCjU?*~WSl{#l!izI+0Sk8W)V&M(U=jgm}`u2O>9G0AjhE<@z7PxunKrUh~ zkb`jf>-G5$Y+P?;)S#Ys3M}6PETL2fH`q17%yhlGA?YrSKc(t(eagsQhIz(hB}VrU zpx||+>FA6AweNu75+@DFa-~}~!H-`rZnIyhKhENodD`IQln;sg;HY3l4opCkSjAZ_ z7iWtH|2}bm9NY7>IN{TJ46CU38DrnaQJLC!@8JIu)VP>%<>zP;ilqvL5qWEs7U5q0Ob zHWf5j!qtL>K^!mCd7@gjEpge4NWAx~@>7=SGGk$~y4h#6j8K)iPEUHcy5*P1t6P&S zJvF!|E&sux)y}-<-r?lgFX0p8A$WgiT{YL~kXb4bH63OK{nH=>6>B)2_9%Guf!Rfp zZ9Rh)4A@r20g3+}$>bni;rSd(>`ln|8tEmkCS-v@R19x})$S2EdJaUB~v4BUu$)7DHp?Wawx_G*nJQ6SEX67;2oCqF3S!Pay$px z8V;2=^bxPde6iylq@cTg?@@X@SQ(ierA~rYj^<(I<)9$r!pV!FFQNNri)Ej;OaHPR zCBcvHBBFpN@A$DiHn)IY!{E3@ZE?mh$-uZ^`Zr531l9dTMf`hLIK%{Cv7-*;>XDr- z`v+iQBnT>XFL^2_Nz5 zFa?vnhfD-z8-xZa*sS-+wEyy?`{H&;q5vB}$HPm5|g z@xgT2-E3^9{kmv&06?-+NE81aTVXuk_(3N;zMB7$HmH=b0YJY)*S~#EB<1a zB*L3va)R-!+?d`lourb6SR381{qk*JEC>x3>4pN4?&C^EpXE3S6y{uUzXC!hKwYq?V8!kZ30yljm1eZ@5W6Y6Y91qQ+*6`#--|;G zq=`1YOh9$^LXxQtyKHVK2ygj%omIVe@3;o2z*^-GRVEOOq-;DgnPF~z8>A$ER8N=| z>UBghg)PiBB^)}&h%#{$j+g0_-sjE>PR4A9|71J$qT#Mc{YLeV2@c>mtv-T6OqAG~ zU8%8yBicH9>~9TY^U0<*1ZOZgZ3Q!B3Dy{O?djjkcZ8bo_x-gb@krkO!1#Mgj(_q&AU6W#M{6@4bY(o}BLV3Vpx_M@`ijfEp#QVu$ zW=Kip4rVCc6CTSvgJnyAOt5D?5VSJ5Q^Jz+GX>WEo4OsvD6bfN+Q(7wGkpeQd z&)klXrHdlN4b_(bJLoi&cvwu3ace6n$Ki*Zn6u|Zn+joQsbXNk${qkJ^6>d46p|c> z8RCf5yl9T>dup&B@E*J4)`prJ>B!8Pq+CSra9APr-F3S#o!u%;-Hd9ME9~Rs9VD15 z9{~n+kq?xk`;6B3Y^yvP#}-@MHD@H@3Wx1U-H%0AmlwWH9vtkP)!y^NWd4F?hNFko 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

+ucwc1qq{Soy&}YkxVZ#DG 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 bUj?yIpEc2y$v2+`*`i!kAU*d|3z@UUffdC6 literal 50622 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 diff --git a/playbooks/3_service/proxmox.yml b/playbooks/3_service/proxmox.yml index b2bacec3..937e8fca 100644 --- a/playbooks/3_service/proxmox.yml +++ b/playbooks/3_service/proxmox.yml @@ -13,8 +13,7 @@ - { role: mgrote.smart, tags: "smart" } - { role: mgrote.postfix, tags: "postfix" } - { role: mgrote.cv4pve-autosnap, - tags: "cv4pve", - when: "'pve2.grote.lan' in inventory_hostname" } + tags: "cv4pve" } - { role: mgrote.r8152_kernel_module, tags: "r8152" } - { role: mgrote.proxmox_bind_mounts, diff --git a/roles/mgrote.cv4pve-autosnap/README.md b/roles/mgrote.cv4pve-autosnap/README.md index 3c389643..2238a007 100644 --- a/roles/mgrote.cv4pve-autosnap/README.md +++ b/roles/mgrote.cv4pve-autosnap/README.md @@ -2,10 +2,9 @@ ### Beschreibung Installiert [cv4pve-autosnap](https://github.com/Corsinvest/cv4pve-autosnap). -Legt einen cronjob und das Logfile an. +Legt einen systemd-timer. ### getestet auf -- [x] ProxMox 6* - [x] ProxMox 7* ### Variablen + Defaults diff --git a/roles/mgrote.cv4pve-autosnap/defaults/main.yml b/roles/mgrote.cv4pve-autosnap/defaults/main.yml index 4012dcc2..4935e342 100644 --- a/roles/mgrote.cv4pve-autosnap/defaults/main.yml +++ b/roles/mgrote.cv4pve-autosnap/defaults/main.yml @@ -12,5 +12,3 @@ # under which user the script is run cv4pve_user_group: cv4pve cv4pve_user: cv4pve - # logfile path - cv4pve_logfile: /var/log/cv4pve-autosnap.log diff --git a/roles/mgrote.cv4pve-autosnap/handlers/main.yml b/roles/mgrote.cv4pve-autosnap/handlers/main.yml new file mode 100644 index 00000000..510b17fe --- /dev/null +++ b/roles/mgrote.cv4pve-autosnap/handlers/main.yml @@ -0,0 +1,26 @@ +--- + - name: systemctl daemon-reload + become: yes + ansible.builtin.systemd: + daemon_reload: yes + + - name: systemctl enable units + become: yes + ansible.builtin.systemd: + name: "{{ item }}" + enabled: yes + masked: no + with_items: + - cv4pve.service + - cv4pve_mail.service + - cv4pve.timer + + - name: systemctl start units + become: yes + ansible.builtin.systemd: + name: "{{ item }}" + state: restarted + enabled: yes + with_items: + - cv4pve.timer + notify: systemctl daemon-reload diff --git a/roles/mgrote.cv4pve-autosnap/tasks/main.yml b/roles/mgrote.cv4pve-autosnap/tasks/main.yml index 946c1722..84aab1d2 100644 --- a/roles/mgrote.cv4pve-autosnap/tasks/main.yml +++ b/roles/mgrote.cv4pve-autosnap/tasks/main.yml @@ -2,6 +2,7 @@ - name: include user tasks include_tasks: user.yml + - name: create directories become: yes ansible.builtin.file: @@ -30,41 +31,43 @@ owner: "{{ cv4pve_user }}" group: "{{ cv4pve_user_group }}" - - name: copy bash-script + - name: template cv4pve.service become: yes ansible.builtin.template: - src: "cv4pve-script.sh" - dest: "/usr/local/bin/cv4pve/cv4pve-script.sh" - mode: a+x - owner: "{{ cv4pve_user }}" - group: "{{ cv4pve_user_group }}" - - - name: create cronjob - become: yes - ansible.builtin.cron: - name: cv4pve-autosnap - state: present - job: "/usr/local/bin/cv4pve/cv4pve-script.sh" - minute: "{{ cv4pve_cron_minute }}" - hour: "{{ cv4pve_cron_hour }}" - user: "{{ cv4pve_user }}" - - - name: create log - become: true - ansible.builtin.file: - path: /var/log/cv4pve-autosnap.log - state: touch - owner: "{{ cv4pve_user }}" - group: "{{ cv4pve_user_group }}" - mode: 0640 - access_time: preserve - modification_time: preserve - - - name: copy logrotate config - become: yes - ansible.builtin.template: - src: logrotate_cv4pve - dest: /etc/logrotate.d/cv4pve-autosnap + src: cv4pve.service.j2 + dest: /etc/systemd/system/cv4pve.service owner: root - group: "{{ cv4pve_user_group }}" + group: root mode: 0644 + notify: + - systemctl daemon-reload + + - name: template cv4pve_mail.service + become: yes + ansible.builtin.template: + src: cv4pve_mail.service.j2 + dest: /etc/systemd/system/cv4pve_mail.service + owner: root + group: root + mode: 0644 + notify: + - systemctl daemon-reload + + + - name: template cv4pve.timer + become: yes + ansible.builtin.template: + src: cv4pve.timer.j2 + dest: /etc/systemd/system/cv4pve.timer + owner: root + group: root + mode: 0644 + notify: + - systemctl daemon-reload + + - name: systemctl start cv4pve.timer + become: yes + ansible.builtin.systemd: + name: cv4pve.timer + state: started + enabled: yes diff --git a/roles/mgrote.cv4pve-autosnap/templates/cv4pve-script.sh b/roles/mgrote.cv4pve-autosnap/templates/cv4pve-script.sh deleted file mode 100644 index 48bd4199..00000000 --- a/roles/mgrote.cv4pve-autosnap/templates/cv4pve-script.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -{{ file_header | default () }} - -( -/usr/local/bin/cv4pve/cv4pve-autosnap --host=127.0.0.1 --api-token {{ cv4pve_api_user }}={{ cv4pve_api_token }} --vmid="{{ cv4pve_vmid }}" snap --label='daily' --keep="{{ cv4pve_keep_snapshots }}" --state | ts '%Y-%m-%d - %H-%M-%S' -/usr/local/bin/cv4pve/cv4pve-autosnap --host=127.0.0.1 --api-token {{ cv4pve_api_user }}={{ cv4pve_api_token }} --vmid="all" status | ts '%Y-%m-%d - %H-%M-%S' -) >> {{ cv4pve_logfile }} 2>&1 diff --git a/roles/mgrote.cv4pve-autosnap/templates/cv4pve.service.j2 b/roles/mgrote.cv4pve-autosnap/templates/cv4pve.service.j2 new file mode 100644 index 00000000..d6eee5ab --- /dev/null +++ b/roles/mgrote.cv4pve-autosnap/templates/cv4pve.service.j2 @@ -0,0 +1,9 @@ +{{ file_header | default () }} +[Unit] +Description=Trigger VM-Snapshots in PVE with cv4pve. +After=multi-user.target +OnFailure=cv4pve_mail.service + +[Service] +Type=simple +ExecStart=/usr/local/bin/cv4pve/cv4pve-autosnap --host=127.0.0.1 --api-token {{ cv4pve_api_user }}={{ cv4pve_api_token }} --vmid="{{ cv4pve_vmid }}" snap --label='daily' --keep="{{ cv4pve_keep_snapshots }}" --state diff --git a/roles/mgrote.cv4pve-autosnap/templates/cv4pve.timer.j2 b/roles/mgrote.cv4pve-autosnap/templates/cv4pve.timer.j2 new file mode 100644 index 00000000..ed002a77 --- /dev/null +++ b/roles/mgrote.cv4pve-autosnap/templates/cv4pve.timer.j2 @@ -0,0 +1,11 @@ +{{ file_header | default () }} +[Unit] +Description=Timer: Trigger VM-Snapshots in PVE with cv4pve. + +[Timer] +OnCalendar=*-*-* {{ cv4pve_cron_hour }}:{{ cv4pve_cron_minute }}:00 +RandomizedDelaySec=10 min + + +[Install] +WantedBy=timers.target multi-user.target diff --git a/roles/mgrote.cv4pve-autosnap/templates/cv4pve_mail.service.j2 b/roles/mgrote.cv4pve-autosnap/templates/cv4pve_mail.service.j2 new file mode 100644 index 00000000..af2a5c24 --- /dev/null +++ b/roles/mgrote.cv4pve-autosnap/templates/cv4pve_mail.service.j2 @@ -0,0 +1,8 @@ +{{ file_header | default () }} + +[Unit] +Description=Send a Mail in case of an error in cv4pve.service. + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/bin/systemctl status cv4pve.service | mail -s "[ERROR] cv4pve - %H" {{ empfaenger_mail }}' diff --git a/roles/mgrote.cv4pve-autosnap/templates/logrotate_cv4pve b/roles/mgrote.cv4pve-autosnap/templates/logrotate_cv4pve deleted file mode 100644 index a20ad8e8..00000000 --- a/roles/mgrote.cv4pve-autosnap/templates/logrotate_cv4pve +++ /dev/null @@ -1,12 +0,0 @@ -{{ file_header | default () }} -{{ cv4pve_logfile }} { - su root root - create 0640 root root - rotate 4 - weekly - compress - missingok - notifempty - dateext - dateyesterday -}