From 44022ed0a86049d1bd76e96f344bb91b7718e8f9 Mon Sep 17 00:00:00 2001 From: mg Date: Mon, 14 Jun 2021 08:34:02 +0200 Subject: [PATCH] bdfr + bugfixes (#115) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit lock für script log vars doku changed never pool test bdfr log bdfr log reboot cifs mount vars aufräumen download script tasks playbook group vars doku eiegenes dataset archiv keepass bfdr invalid keepass: bfdr client id + client secret upvoted saved and liked Leerzeichen sources bug inventory vars vm test cv5pve typo Linux MInt fur Apt-Manage Sources bdfr share KeePassPW angepasst bdfr playbook bug cifs bdfr nutzer fileserver Keepass: user bdfr Co-authored-by: Michael Grote Reviewed-on: https://git.mgrote.net/mg/ansible/pulls/115 Co-Authored-By: mg Co-Committed-By: mg --- group_vars/bdfr.yml | 17 ++++++++ group_vars/fileserver.yml | 10 +++++ host_vars/pve2.grote.lan.yml | 31 +++++++++++++- inventory | 4 ++ keepass_db.kdbx | Bin 43934 -> 44686 bytes playbooks/3_service/bdfr.yml | 5 +++ .../mgrote.apt_manage_sources/tasks/main.yml | 4 ++ .../mgrote.apt_manage_sources/tasks/mint.yml | 8 ++++ .../templates/mint_sources.list | 9 ++++ roles/mgrote.bdfr/README.md | 23 ++++++++++ roles/mgrote.bdfr/defaults/main.yml | 4 ++ roles/mgrote.bdfr/tasks/main.yml | 40 ++++++++++++++++++ roles/mgrote.bdfr/templates/bdfr_download.sh | 35 +++++++++++++++ roles/mgrote.bdfr/templates/logrotate_config | 13 ++++++ roles/mgrote.mount_cifs/handlers/main.yml | 5 +++ roles/mgrote.mount_cifs/tasks/main.yml | 4 +- .../mgrote.r8152_kernel_module/tasks/main.yml | 2 +- roles/mgrote.vim/tasks/main.yml | 2 +- 18 files changed, 212 insertions(+), 4 deletions(-) create mode 100644 group_vars/bdfr.yml create mode 100644 playbooks/3_service/bdfr.yml create mode 100644 roles/mgrote.apt_manage_sources/tasks/mint.yml create mode 100644 roles/mgrote.apt_manage_sources/templates/mint_sources.list create mode 100644 roles/mgrote.bdfr/README.md create mode 100644 roles/mgrote.bdfr/defaults/main.yml create mode 100644 roles/mgrote.bdfr/tasks/main.yml create mode 100644 roles/mgrote.bdfr/templates/bdfr_download.sh create mode 100644 roles/mgrote.bdfr/templates/logrotate_config create mode 100644 roles/mgrote.mount_cifs/handlers/main.yml diff --git a/group_vars/bdfr.yml b/group_vars/bdfr.yml new file mode 100644 index 00000000..c2cc525c --- /dev/null +++ b/group_vars/bdfr.yml @@ -0,0 +1,17 @@ +--- + # mgrote.mount_cifs + cifs_mounts: + - name: fileserver2_bdfr_mount + type: cifs + state: present + dest: "{{ bdfr_data_path }}" + src: //fileserver2.grote.lan/archiv/reddit + user: bdfr + password: "{{ lookup('keepass', 'fileserver_smb_user_bdfr', 'password') }}" + domain: grote.lan + uid: 1000 + gid: 1000 + # mgrote.bdfr + bdfr_data_path: /mnt/bdfr + bdfr_data_mount: /mnt/bdfr + bdfr_log_file: /var/log/bdfr.log diff --git a/group_vars/fileserver.yml b/group_vars/fileserver.yml index 9c34f46d..538af4fa 100644 --- a/group_vars/fileserver.yml +++ b/group_vars/fileserver.yml @@ -6,6 +6,7 @@ # pct set 109 -mp3 /hdd_data_raidz/papa_backup,mp=/shares_papa_backup # pct set 109 -mp4 /hdd_data_raidz/music,mp=/shares_music # pct set 109 -mp5 /hdd_data_raidz/tmp,mp=/shares_tmp + # pct set 109 -mp6 /hdd_data_raidz/archiv,mp=/shares_archiv # Bind Mounts - fileserver-test # pct set 158 -mp0 /rpool/vm/dir/vm-158/videos,mp=/shares_videos # pct set 158 -mp1 /rpool/vm/dir/vm-158/data,mp=/shares @@ -13,6 +14,8 @@ # pct set 158 -mp3 /rpool/vm/dir/vm-158/papa,mp=/shares_papa_backup # pct set 158 -mp4 /rpool/vm/dir/vm-158/music,mp=/shares_music # pct set 158 -mp5 /rpool/vm/dir/vm-158/tmp,mp=/shares_tmp + # pct set 158 -mp6 /rpool/vm/dir/vm-158/archiv,mp=/shares_archiv + ### mgrote.smb_fileserver smb_users: - name: 'annemariedroessler' @@ -35,6 +38,9 @@ password: "{{ lookup('keepass', 'fileserver_smb_user_brother_ads2700w', 'password') }}" - name: 'photoprism' password: "{{ lookup('keepass', 'fileserver_smb_user_photoprism', 'password') }}" + - name: 'bdfr' + password: "{{ lookup('keepass', 'fileserver_smb_user_bdfr', 'password') }}" + smb_shares: - name: 'videos' path: '/shares_videos' @@ -56,6 +62,10 @@ path: '/shares/Backup' users_ro: '' users_rw: 'annemariedroessler restic win10 michaelgrote' + - name: 'archiv' + path: '/shares_archiv' + users_ro: '' + users_rw: 'bdfr michaelgrote' - name: 'hm' path: '/shares/hm' users_ro: 'win10' diff --git a/host_vars/pve2.grote.lan.yml b/host_vars/pve2.grote.lan.yml index 2f695941..bd79b379 100644 --- a/host_vars/pve2.grote.lan.yml +++ b/host_vars/pve2.grote.lan.yml @@ -88,6 +88,14 @@ dnodesize: auto atime: on snapdir: hidden + - dataset: hdd_data_raidz/archiv + state: present + compression: zstd + sync: disabled + xattr: sa + dnodesize: auto + atime: on + snapdir: hidden - dataset: rpool/vm/dir/vm-158/data state: present compression: lz4 @@ -136,6 +144,14 @@ dnodesize: auto atime: on snapdir: hidden + - dataset: rpool/vm/dir/vm-158/archiv + state: present + compression: lz4 + sync: disabled + xattr: sa + dnodesize: auto + atime: on + snapdir: hidden ### mgrote.apcupsd apcupsd_nis_master: true @@ -182,6 +198,10 @@ snapshots: true - path: 'hdd_data_raidz/pve_backup' snapshots: false # deaktiviert sanoid für das dataset + - path: 'hdd_data_raidz/archiv' + template: '3monate' + recursive: 'yes' + snapshots: true sanoid_templates: - name: '31tage' keep_hourly: '24' # Aufheben (Stunde) @@ -210,9 +230,18 @@ frequent_period: '0' autosnap: 'yes' autoprune: 'yes' + - name: '3monate' + keep_hourly: '0' + keep_daily: '3' + keep_monthly: '3' + keep_yearly: '0' + frequently: '0' + frequent_period: '0' + autosnap: 'yes' + autoprune: 'yes' ### mgrote.cv4pve-autosnap cv4pve_api_user: root@pam!cv4pve-autosnap cv4pve_api_token: "{{ lookup('keepass', 'cv4pve_api_token', 'password') }}" - cv4pve_vmid: all,-109,-158,-131 + cv4pve_vmid: all,-109,-158,-112 cv4pve_keep_snapshots: 1 cv4pve_dl_link: "https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.10.0/cv4pve-autosnap-linux-x64.zip" diff --git a/inventory b/inventory index 7a402c59..8199218c 100644 --- a/inventory +++ b/inventory @@ -28,6 +28,9 @@ all: hosts: docker.grote.lan: docker-test.grote.lan: + bdfr: + hosts: + bdfr.grote.lan: proxmox: hosts: pve2-test.grote.lan: @@ -70,6 +73,7 @@ all: gitea.grote.lan: pihole2.grote.lan: ntp-server.grote.lan: + bdfr.grote.lan: test: hosts: dokuwiki-test.grote.lan: diff --git a/keepass_db.kdbx b/keepass_db.kdbx index 5e25cb35561c21eef215cf0461a0e026aa5752fd..75bbd81f6bcee6df97e3e245adb4fb28f47dc9aa 100644 GIT binary patch literal 44686 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 OCSBS`aC~1Cf%-*Y&Pqf8 diff --git a/playbooks/3_service/bdfr.yml b/playbooks/3_service/bdfr.yml new file mode 100644 index 00000000..5d4d3c3d --- /dev/null +++ b/playbooks/3_service/bdfr.yml @@ -0,0 +1,5 @@ +--- +- hosts: bdfr + roles: + - { role: mgrote.mount_cifs, tags: "cifs" } + - { role: mgrote.bdfr, tags: "cifs" } diff --git a/roles/mgrote.apt_manage_sources/tasks/main.yml b/roles/mgrote.apt_manage_sources/tasks/main.yml index b00e3f1a..ec987d9e 100644 --- a/roles/mgrote.apt_manage_sources/tasks/main.yml +++ b/roles/mgrote.apt_manage_sources/tasks/main.yml @@ -3,6 +3,10 @@ include_tasks: ubuntu.yml when: ansible_distribution == 'Ubuntu' + - name: include Linux Mint tasks (determined by "ansible_distribution") + include_tasks: mint.yml + when: ansible_distribution == 'Linux Mint' + - name: include proxmox tasks (determined by group) include_tasks: proxmox.yml when: "'proxmox' in group_names" diff --git a/roles/mgrote.apt_manage_sources/tasks/mint.yml b/roles/mgrote.apt_manage_sources/tasks/mint.yml new file mode 100644 index 00000000..f4b5bc15 --- /dev/null +++ b/roles/mgrote.apt_manage_sources/tasks/mint.yml @@ -0,0 +1,8 @@ +--- + - name: Mint - copy sources.list + become: yes + ansible.builtin.template: + src: "mint_sources.list" + dest: "/etc/apt/sources.list" + backup: yes + register: copy_src diff --git a/roles/mgrote.apt_manage_sources/templates/mint_sources.list b/roles/mgrote.apt_manage_sources/templates/mint_sources.list new file mode 100644 index 00000000..7d5ca554 --- /dev/null +++ b/roles/mgrote.apt_manage_sources/templates/mint_sources.list @@ -0,0 +1,9 @@ +{{ file_header | default () }} +deb http://{{ manage_sources_apt_proxy_url }}packages.linuxmint.com ulyssa main upstream import backport + +deb http://{{ manage_sources_apt_proxy_url }}archive.ubuntu.com/ubuntu focal main restricted universe multiverse +deb http://{{ manage_sources_apt_proxy_url }}archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse +deb http://{{ manage_sources_apt_proxy_url }}archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse + +deb http://{{ manage_sources_apt_proxy_url }}security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse +deb http://{{ manage_sources_apt_proxy_url }}archive.canonical.com/ubuntu/ focal partner diff --git a/roles/mgrote.bdfr/README.md b/roles/mgrote.bdfr/README.md new file mode 100644 index 00000000..0be6ec59 --- /dev/null +++ b/roles/mgrote.bdfr/README.md @@ -0,0 +1,23 @@ +## mgrote.bdfr + +Installiert [Bulk Downloader for Reddit](https://github.com/aliparlakci/bulk-downloader-for-reddit#configuration). +Erstellt einen Cronjob. + +__Benötigt einen Webbrowser!__ + +### Funktioniert auf +- [ Linux Mint (>20.1) + + +### Variablen + Defaults +see [defaults](./defaults/main.yml) + + +## Script einrichten(Token von Reddit holen) +1. Script ausführen `bdfr_download.sh` +2. Link anklicken +3. bei Reddit anmelden +4. Download... + +## to HTML +* https://github.com/BlipRanger/bdfr-html diff --git a/roles/mgrote.bdfr/defaults/main.yml b/roles/mgrote.bdfr/defaults/main.yml new file mode 100644 index 00000000..0b68977b --- /dev/null +++ b/roles/mgrote.bdfr/defaults/main.yml @@ -0,0 +1,4 @@ +--- + bdfr_data_path: /mnt/bdfr/reddit + bdfr_data_mount: /mnt/bdfr + bdfr_log_file: /var/log/bdfr.log diff --git a/roles/mgrote.bdfr/tasks/main.yml b/roles/mgrote.bdfr/tasks/main.yml new file mode 100644 index 00000000..8e6722c2 --- /dev/null +++ b/roles/mgrote.bdfr/tasks/main.yml @@ -0,0 +1,40 @@ +--- + - name: install python3.9 + become: yes + ansible.builtin.package: + name: + - python3.9 + - python3-pip + state: present + + - name: Install bdfr + become: yes + shell: python3.9 -m pip install bdfr --upgrade + changed_when: False + + - name: copy bdfr_download.sh + become: yes + ansible.builtin.template: + src: "bdfr_download.sh" + dest: "/usr/local/bin/bdfr_download.sh" + mode: 0755 + owner: mg + group: mg + + - name: create cronjob + become: true + ansible.builtin.cron: + name: bdfr + minute: "41" + hour: "2" + job: "/usr/local/bin/bdfr_download.sh >> {{ bdfr_log_file }}" + state: present + + - name: copy logrotate config + become: yes + ansible.builtin.template: + src: logrotate_config + dest: /etc/logrotate.d/bdfr + owner: root + group: root + mode: 0644 diff --git a/roles/mgrote.bdfr/templates/bdfr_download.sh b/roles/mgrote.bdfr/templates/bdfr_download.sh new file mode 100644 index 00000000..7d997b94 --- /dev/null +++ b/roles/mgrote.bdfr/templates/bdfr_download.sh @@ -0,0 +1,35 @@ +#!/bin/bash +{{ file_header | default () }} + +chmod +x /home/mg/.config/bdfr/default_config.cfg + +# These functions return exit codes: 0 = found, 1 = not found +# https://serverfault.com/questions/50585/whats-the-best-way-to-check-if-a-volume-is-mounted-in-a-bash-script +isMounted () { findmnt -rno SOURCE,TARGET "$1" >/dev/null;} #path or device + +#!/bin/bash +{{ file_header | default () }} +LOCKDIR=${HOME}/.cache # set lockdir +function exlock() { # define Function for setting lock; stops the script i a lock exists + exec {lock_fd}>${LOCKDIR}/$(basename $0).lock + flock -nx "$lock_fd" + if [[ $? == 1 ]]; then + exit 1 + fi +} +function unlock() { # define function for removing lock + rm "${LOCKDIR}/$(basename $0).lock" + [[ -n $1 ]] && exit $1 + exit +} + +exlock # set lock +if isMounted "{{ bdfr_data_mount }}"; + then + python3.9 -m bdfr clone {{ bdfr_data_path }} --no-dupes --search-existing --submitted --upvoted --saved --authenticate --user me + python3.9 -m bdfr clone {{ bdfr_data_path }} --no-dupes --search-existing --subreddit SCPDeclassified + else echo "share is not mounted" + exit 1 +fi + +unlock # entferne lock diff --git a/roles/mgrote.bdfr/templates/logrotate_config b/roles/mgrote.bdfr/templates/logrotate_config new file mode 100644 index 00000000..ca37b7d1 --- /dev/null +++ b/roles/mgrote.bdfr/templates/logrotate_config @@ -0,0 +1,13 @@ +{{ bdfr_log_file }} { + missingok + nocreate + rotate 4 + weekly + compress + missingok + notifempty + dateext + dateyesterday + sharedscripts + endscript +} diff --git a/roles/mgrote.mount_cifs/handlers/main.yml b/roles/mgrote.mount_cifs/handlers/main.yml new file mode 100644 index 00000000..1ac62ba0 --- /dev/null +++ b/roles/mgrote.mount_cifs/handlers/main.yml @@ -0,0 +1,5 @@ +--- + - name: reboot + become: true + reboot: + reboot_timeout: 120 diff --git a/roles/mgrote.mount_cifs/tasks/main.yml b/roles/mgrote.mount_cifs/tasks/main.yml index 0b196392..4146d161 100644 --- a/roles/mgrote.mount_cifs/tasks/main.yml +++ b/roles/mgrote.mount_cifs/tasks/main.yml @@ -12,6 +12,7 @@ state: directory mode: 0777 loop: "{{ cifs_mounts }}" + no_log: true - name: create credential-file become: yes @@ -29,7 +30,7 @@ ansible.posix.mount: src: "{{ item.src }}" path: "{{ item.dest }}" - opts: credentials=/root/.smb_passwords_{{ item.name }},domain={{ item.domain }},uid={{ item.uid | default('1000') }}",gid={{ item.gid | default('1000') }}" + opts: credentials=/root/.smb_passwords_{{ item.name }},domain={{ item.domain }},uid={{ item.uid | default('1000') }},gid={{ item.gid | default('1000') }}" state: "{{ item.state }}" fstype: "{{ item.type }}" backup: yes @@ -37,3 +38,4 @@ passno: "0" loop: "{{ cifs_mounts }}" no_log: true + notify: reboot diff --git a/roles/mgrote.r8152_kernel_module/tasks/main.yml b/roles/mgrote.r8152_kernel_module/tasks/main.yml index 0b1522b6..b2a23c31 100644 --- a/roles/mgrote.r8152_kernel_module/tasks/main.yml +++ b/roles/mgrote.r8152_kernel_module/tasks/main.yml @@ -11,6 +11,6 @@ register: module_in_lsmod changed_when: False # sorgt dafür das der Task nie als "changed" angezeigt wird - - name: include tasks (taks get skipped if the folder or the module exists or r8152_module_needed == false) + - name: include tasks (task get skipped if the folder or the module exists or r8152_module_needed == false) include_tasks: doing.yml when: ((folder_exists.stat.exists == False) or (module_in_lsmod.stdout.find('r8152') == -1)) and (r8152_module_needed == true) diff --git a/roles/mgrote.vim/tasks/main.yml b/roles/mgrote.vim/tasks/main.yml index d8c365ca..ceb9d0f3 100644 --- a/roles/mgrote.vim/tasks/main.yml +++ b/roles/mgrote.vim/tasks/main.yml @@ -13,7 +13,7 @@ path: "{{ vim_vundle_path }}" register: folder_exists - - name: Ensure repository is cloned locally. + - name: Ensure repository is cloned locally. git: repo: "{{ vim_vundle_repo_url }}" dest: "{{ vim_vundle_path }}"