Compare commits

...

8 Commits

3 changed files with 26 additions and 8 deletions

View File

@@ -22,22 +22,24 @@ BACKUP="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip"
echo "*** Creating Backup Directory ***" echo "*** Creating Backup Directory ***"
sudo mkdir -pv "$BACKUP_DIR" sudo mkdir -pv "$BACKUP_DIR"
sudo chmod -Rv 755 "$BACKUP_DIR" sudo mkdir -pv "$BACKUP_DIR/TRASH"
sudo chmod -Rv 775 "$BACKUP_DIR"
sudo chown -Rv root:root "$BACKUP_DIR" sudo chown -Rv root:root "$BACKUP_DIR"
cd "$BACKUP_DIR"
## Cleanup ## ## Cleanup ##
echo "*** Removing Old Backups ***" echo "*** Removing Old Backups ***"
mv -v "$BASENAME"*"$TAG"* ~/TRASH/ cd "$BACKUP_DIR"
rm -v ~/TRASH/"${BASENAME}*${TAG}*.zip" sudo mv -v "$BASENAME"*"$TAG"* TRASH/
sudo rm -v TRASH/*
## Main ## Main
echo "*** Creating backup at '$BACKUP' ***" echo "*** Creating backup at '$BACKUP' ***"
sudo zip -rv "$BACKUP" \ sudo zip -rv "$BACKUP" \
/etc /var/{log,mail,spool} /srv /boot \ /etc /var/{log,mail,spool} /srv /boot \
/usr/local/etc $EXTRA /usr/local/etc $EXTRA \
-x "/srv/backup/*"
status="$?" status="$?"
if [[ "$status" != 0 ]]; then if [[ "$status" != 0 ]]; then

View File

@@ -415,6 +415,7 @@
function clean() { function clean() {
clean-trash clean-trash
clean-code clean-code
clean-backups
} }
function_flatpak_usage: | function_flatpak_usage: |
function flatpak-usage() { function flatpak-usage() {
@@ -787,6 +788,11 @@
} }
alias backup-system="backup" alias backup-system="backup"
alias system-backup="backup" alias system-backup="backup"
alias check-backups="ll /srv/backup"
function clean-backup {
sh -c "rm -rfv /srv/backup/*"
}
alias clean-backups="clean-backup"
function_log: | function_log: |
function log { function log {
echo -e "$1" echo -e "$1"
@@ -872,6 +878,9 @@
} }
alias ebooks="ebook-convert" alias ebooks="ebook-convert"
alias convert="ebook-convert" alias convert="ebook-convert"
alias_sudo: |
# Allows for alias expansions when using sudo, such as doing "sudo ll".
alias sudo="sudo "
- name: General | Account Management | Users | Files | Common Variable - name: General | Account Management | Users | Files | Common Variable
set_fact: set_fact:
@@ -946,6 +955,7 @@
{{ function_log }} {{ function_log }}
{{ function_debian_upgrade }} {{ function_debian_upgrade }}
{{ function_ebook_convert }} {{ function_ebook_convert }}
{{ alias_sudo }}
- name: General | Account Management | Users | Files | .bashrc - name: General | Account Management | Users | Files | .bashrc
blockinfile: blockinfile:

View File

@@ -1,12 +1,18 @@
--- ---
# Jobs relating to the ansible user. # Jobs relating to the ansible user.
# $RANDOM is anywhere from 0 to 32767 in BASH. This would be up to ~9 hours.
# $RANDOM / 10 can be up to about 3200 seconds, or ~55 minutes.
# $RANDOM / 20 can be up to about 1600 seconds, or ~27 minutes.
# $RANDOM / 50 can be up to about 650 seconds, or ~11 minutes.
# $RANDOM / 100 can be up to about 320 seconds, or ~5 minutes.
# This prevents multiple systems from hitting it at the exact same time.
- name: General | Cron | Ansible | Create Subscriber Job - name: General | Cron | Ansible | Create Subscriber Job
cron: cron:
user: ansible user: ansible
name: "Ansible Sync" name: "Ansible Sync"
minute: "*/30" minute: "*/30"
job: "sudo {{ ansible_pull_exec.stdout }} -v -o -U {{ git_repo_http }} --checkout {{ branch }}" job: "sleep $(( $RANDOM / 20 )); sudo {{ ansible_pull_exec.stdout }} -v -o -U {{ git_repo_http }} --checkout {{ branch }}"
state: present state: present
disabled: "{{ 'yes' if no_telem else 'no' }}" disabled: "{{ 'yes' if no_telem else 'no' }}"
@@ -14,7 +20,7 @@
cron: cron:
user: ansible user: ansible
name: "Ansible Weekly Forced Sync" name: "Ansible Weekly Forced Sync"
special_time: weekly special_time: daily
job: "{{ user_root.home }}/bin/scm.sh" job: "sleep $(( $RANDOM / 1 )); sudo {{ ansible_pull_exec.stdout }} -v -U {{ git_repo_http }} --checkout {{ branch }}"
state: present state: present
disabled: "{{ 'yes' if no_telem else 'no' }}" disabled: "{{ 'yes' if no_telem else 'no' }}"