From a5033239bf6205ef8d1203b2783d4d40535015f8 Mon Sep 17 00:00:00 2001 From: mg Date: Fri, 8 Apr 2022 14:01:13 +0200 Subject: [PATCH] systemd: rclone (#349) Co-authored-by: Michael Grote Reviewed-on: https://git.mgrote.net/mg/ansible/pulls/349 Co-authored-by: mg Co-committed-by: mg --- host_vars/fileserver2.grote.lan.yml | 85 +++ keepass_db.kdbx | Bin 51102 -> 53678 bytes playbooks/3_service/fileserver.yml | 9 +- roles/mgrote.rclone/LICENSE | 674 ++++++++++++++++++ roles/mgrote.rclone/README.md | 14 + roles/mgrote.rclone/defaults/main.yml | 10 + roles/mgrote.rclone/handlers/main.yml | 5 + roles/mgrote.rclone/tasks/main.yml | 101 +++ .../mgrote.rclone/templates/rclone.service.j2 | 10 + roles/mgrote.rclone/templates/rclone.timer.j2 | 10 + .../templates/rclone_mail@.service.j2 | 8 + 11 files changed, 918 insertions(+), 8 deletions(-) create mode 100644 roles/mgrote.rclone/LICENSE create mode 100644 roles/mgrote.rclone/README.md create mode 100644 roles/mgrote.rclone/defaults/main.yml create mode 100644 roles/mgrote.rclone/handlers/main.yml create mode 100644 roles/mgrote.rclone/tasks/main.yml create mode 100644 roles/mgrote.rclone/templates/rclone.service.j2 create mode 100644 roles/mgrote.rclone/templates/rclone.timer.j2 create mode 100644 roles/mgrote.rclone/templates/rclone_mail@.service.j2 diff --git a/host_vars/fileserver2.grote.lan.yml b/host_vars/fileserver2.grote.lan.yml index 6383061d..7b666a7d 100644 --- a/host_vars/fileserver2.grote.lan.yml +++ b/host_vars/fileserver2.grote.lan.yml @@ -1,4 +1,89 @@ --- + ### mgote.rclone + rclone_jobs: + - name: nc_od_keepass + quelle: nextcloud-mg:/Rest/KeepassDB + ziel: onedrive-encrypt:/Rest/KeepassDB + timer: "*-*-* 23:15" + state: true + - name: NC_od_docs + quelle: nextcloud-mg:/Dokumente + ziel: onedrive-encrypt:/Dokumente + timer: "*-*-* 23:15" + state: true + - name: nc_sc_mg + quelle: nextcloud-mg:/ + ziel: scaleway-encrypt-mg:/ + timer: "*-*-* 23:15" + state: true + - name: nc_sc_amd + quelle: nextcloud-amd:/ + ziel: scaleway-encrypt-amd:/ + timer: "*-*-* 23:15" + state: true + - name: smb_amd_glacier + quelle: "/shares_amd" + ziel: "scaleway-encrypt-glacier:/amd" + timer: "*-*-* 23:15" + state: true + - name: smb_archiv_glacier + quelle: "/shares_archiv" + ziel: "scaleway-encrypt-glacier:/archiv" + timer: "*-*-* 23:15" + state: true + - name: smb_backup_glacier + quelle: "/shares_backup" + ziel: "scaleway-encrypt-glacier:/backup" + timer: "*-*-* 23:15" + state: true + - name: smb_bilder_glacier + quelle: "/shares_bilder" + ziel: "scaleway-encrypt-glacier:/bilder" + timer: "*-*-* 23:15" + state: true + - name: smb_buecher_glacier + quelle: "/shares_buecher" + ziel: "scaleway-encrypt-glacier:/buecher" + timer: "*-*-* 23:15" + state: true + - name: smb_hm_glacier + quelle: "/shares_hm" + ziel: "scaleway-encrypt-glacier:/hm" + timer: "*-*-* 23:15" + state: true + - name: smb_musik_glacier + quelle: "/shares_music" + ziel: "scaleway-encrypt-glacier:/musik" + timer: "*-*-* 23:15" + state: true + - name: smb_programme_glacier + quelle: "/shares_programme" + ziel: "scaleway-encrypt-glacier:/programme" + timer: "*-*-* 23:15" + state: true + - name: smb_vm_glacier + quelle: "/shares_vm" + ziel: "scaleway-encrypt-glacier:/vm" + timer: "*-*-* 23:15" + state: true + - name: smb_tmp_glacier + quelle: "/shares_tmp" + ziel: "scaleway-encrypt-glacier:/tmp" + timer: "*-*-* 23:15" + state: true + - name: smb_scans_glacier + quelle: "/shares_scans" + ziel: "scaleway-encrypt-glacier:/scans" + timer: "*-*-* 23:15" + state: true + - name: smb_restic_glacier + quelle: "/shares_restic" + ziel: "scaleway-encrypt-glacier:/restic" + timer: "*-*-* 23:15" + state: true + + rclone_config: "{{ lookup('keepass', 'rclone.conf', 'notes') }}" + ### mgrote.smb_fileserver smb_shares: - name: 'videos' diff --git a/keepass_db.kdbx b/keepass_db.kdbx index aa520bea3a326d849485ac7444b6b0d02fafce1f..1452f28c8603e4c1143c0841398521f406a564a2 100644 GIT binary patch literal 53678 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 literal 51102 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�Im?(HBH?d8vS<(Yz} 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 LzZn=Vyv+~o3b_-} diff --git a/playbooks/3_service/fileserver.yml b/playbooks/3_service/fileserver.yml index 06e20124..5690840b 100644 --- a/playbooks/3_service/fileserver.yml +++ b/playbooks/3_service/fileserver.yml @@ -1,17 +1,10 @@ ############################################################################### -# Vorher ZFS-Datasets als BindMount durchreichen -############################################################################### -# Wenn es hier hakt, zuerst SMB auskommentieren, Ausfuehren dann wieder mit smb. -############################################################################### # Wenn Freigaben geloescht werden muss der dazugehoerige Ordner per CLI geloescht # werden. ############################################################################### -# in PVE -# pct set 109 -mp1 /hdd_data_raidz/data,mp=/shares/ -# pct set 109 -mp0 /hdd_data_raidz/videos,mp=/shares_videos -############################################################################### --- - hosts: fileserver roles: - { role: mgrote.fileserver_smb, tags: "fileserver_smb" } + - { role: mgrote.rclone, tags: "rclone" } diff --git a/roles/mgrote.rclone/LICENSE b/roles/mgrote.rclone/LICENSE new file mode 100644 index 00000000..e72bfdda --- /dev/null +++ b/roles/mgrote.rclone/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/roles/mgrote.rclone/README.md b/roles/mgrote.rclone/README.md new file mode 100644 index 00000000..9e750969 --- /dev/null +++ b/roles/mgrote.rclone/README.md @@ -0,0 +1,14 @@ +## mgrote.rclone + +### Beschreibung +Installiert und konfiguriert rclone zur Datensicherung. + +### getestet auf +- [x] Ubuntu 20.04 (LXC) + +### Variablen + Defaults +- see [defaults](./defaults/main.yml) + +## Altes rclone Repository + +https://git.mgrote.net/mg/rclone diff --git a/roles/mgrote.rclone/defaults/main.yml b/roles/mgrote.rclone/defaults/main.yml new file mode 100644 index 00000000..14b8f6d4 --- /dev/null +++ b/roles/mgrote.rclone/defaults/main.yml @@ -0,0 +1,10 @@ +--- +# ### mgote.rclone +# rclone_jobs: # Array of Jobs +# - name: nc_od_keepass # Jobname +# quelle: nextcloud-mg:/Rest/KeepassDB # Source +# ziel: onedrive-encrypt:/Rest/KeepassDB # Destination +# timer: "*-*-* 23:15" # Timer +# state: true # treu = present // false = remove + +# rclone_config: "{{ lookup('keepass', 'rclone.conf', 'notes') }}" # rclone Config, use as Block diff --git a/roles/mgrote.rclone/handlers/main.yml b/roles/mgrote.rclone/handlers/main.yml new file mode 100644 index 00000000..c73886d6 --- /dev/null +++ b/roles/mgrote.rclone/handlers/main.yml @@ -0,0 +1,5 @@ +--- + - name: systemctl daemon-reload + become: yes + ansible.builtin.systemd: + daemon_reload: yes diff --git a/roles/mgrote.rclone/tasks/main.yml b/roles/mgrote.rclone/tasks/main.yml new file mode 100644 index 00000000..e2bbfdde --- /dev/null +++ b/roles/mgrote.rclone/tasks/main.yml @@ -0,0 +1,101 @@ +--- + - name: install packages + become: true + ansible.builtin.apt: + name: + - rclone + state: present + + - name: Create rclone Directory + become: true + ansible.builtin.file: + path: "/etc/rclone" + state: directory + owner: root + group: root + recurse: true + + - name: template rclone Configuration + become: true + ansible.builtin.blockinfile: + path: "/etc/rclone/rclone.conf" + block: "{{ rclone_config }}" + create: yes + owner: root + group: root + when: rclone_config is defined + no_log: true + + - name: template rclone services + become: yes + ansible.builtin.template: + src: "rclone.service.j2" + dest: "/etc/systemd/system/rclone_{{ item.name }}.service" + owner: root + group: root + mode: 0644 + notify: + - systemctl daemon-reload + with_items: + - "{{ rclone_jobs }}" + when: rclone_jobs is defined and item.state is true + + - name: template rclone timer + become: yes + ansible.builtin.template: + src: "rclone.timer.j2" + dest: "/etc/systemd/system/rclone_{{ item.name }}.timer" + owner: root + group: root + mode: 0644 + notify: + - systemctl daemon-reload + with_items: + - "{{ rclone_jobs }}" + when: rclone_jobs is defined and item.state is true + + - name: remove old rclone services + become: yes + ansible.builtin.file: + path: "/etc/systemd/system/rclone_{{ item.name }}.service" + state: absent + notify: + - systemctl daemon-reload + with_items: + - "{{ rclone_jobs }}" + when: rclone_jobs is defined and item.state is false + + - name: remove old rclone timers + become: yes + ansible.builtin.file: + path: "/etc/systemd/system/rclone_{{ item.name }}.timer" + state: absent + notify: + - systemctl daemon-reload + with_items: + - "{{ rclone_jobs }}" + when: rclone_jobs is defined and item.state is false + + - name: template rclone_mail@.service.j2 + become: yes + ansible.builtin.template: + src: "rclone_mail@.service.j2" + dest: "/etc/systemd/system/rclone_mail@.service" + owner: root + group: root + mode: 0644 + notify: + - systemctl daemon-reload + + - name: systemctl enable timer units + become: yes + ansible.builtin.systemd: + name: "rclone_{{ item.name }}.timer" + enabled: yes + masked: no + state: started + with_items: + - "{{ rclone_jobs }}" + when: rclone_jobs is defined and item.state is true + notify: + - systemctl daemon-reload diff --git a/roles/mgrote.rclone/templates/rclone.service.j2 b/roles/mgrote.rclone/templates/rclone.service.j2 new file mode 100644 index 00000000..9eba1965 --- /dev/null +++ b/roles/mgrote.rclone/templates/rclone.service.j2 @@ -0,0 +1,10 @@ +{{ file_header | default () }} + +[Unit] +Description=Sync data with rclone. +OnFailure=rclone_mail@{{ item.name }}.service + + +[Service] +Type=simple +ExecStart=/usr/bin/rclone --config "/etc/rclone/rclone.conf" sync --log-level {{ item.loglevel | default ("INFO") }} --transfers {{ item.transfers | default ("8") }} --checkers {{ item.checkers | default ("8") }} --retries {{ item.retries | default ("5") }} --delete-after "{{ item.quelle }}" "{{item.ziel }}" diff --git a/roles/mgrote.rclone/templates/rclone.timer.j2 b/roles/mgrote.rclone/templates/rclone.timer.j2 new file mode 100644 index 00000000..fa2ba12a --- /dev/null +++ b/roles/mgrote.rclone/templates/rclone.timer.j2 @@ -0,0 +1,10 @@ +{{ file_header | default () }} +[Unit] +Description=Timer for rclone syncs. + +[Timer] +OnCalendar={{ item.timer }} +RandomizedDelaySec=30 min + +[Install] +WantedBy=timers.target multi-user.target diff --git a/roles/mgrote.rclone/templates/rclone_mail@.service.j2 b/roles/mgrote.rclone/templates/rclone_mail@.service.j2 new file mode 100644 index 00000000..c68413cf --- /dev/null +++ b/roles/mgrote.rclone/templates/rclone_mail@.service.j2 @@ -0,0 +1,8 @@ +{{ file_header | default () }} + +[Unit] +Description=Send a Mail in case of an error in sanoid.service. + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/bin/systemctl status rclone_%i.service | mail -s "[ERROR] rclone - %i" {{ empfaenger_mail }}'