From 0f38d3d0ec6325592f22aee916f12cbeeff4b6ef Mon Sep 17 00:00:00 2001 From: Matan Horovitz Date: Fri, 9 Sep 2022 22:53:08 +0300 Subject: [PATCH] Auto updating profile - Fri Sep 9 10:53:08 PM IDT 2022 --- homefs | 63 +++++++ kumonoboru.service | 8 + kumonoboru.timer | 9 + murchison.service | 8 + profile | 408 +++++++-------------------------------------- rootfs | 63 +++++++ 6 files changed, 207 insertions(+), 352 deletions(-) create mode 100644 homefs create mode 100644 kumonoboru.service create mode 100644 kumonoboru.timer create mode 100644 murchison.service create mode 100644 rootfs diff --git a/homefs b/homefs new file mode 100644 index 0000000..27a16b2 --- /dev/null +++ b/homefs @@ -0,0 +1,63 @@ + +# subvolume to snapshot +SUBVOLUME="/home" + +# filesystem type +FSTYPE="btrfs" + + +# btrfs qgroup for space aware cleanup algorithms +QGROUP="" + + +# fraction or absolute size of the filesystems space the snapshots may use +SPACE_LIMIT="0.5" + +# fraction or absolute size of the filesystems space that should be free +FREE_LIMIT="0.2" + + +# users and groups allowed to work with config +ALLOW_USERS="" +ALLOW_GROUPS="" + +# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots +# directory +SYNC_ACL="no" + + +# start comparing pre- and post-snapshot in background after creating +# post-snapshot +BACKGROUND_COMPARISON="yes" + + +# run daily number cleanup +NUMBER_CLEANUP="yes" + +# limit for number cleanup +NUMBER_MIN_AGE="1800" +NUMBER_LIMIT="50" +NUMBER_LIMIT_IMPORTANT="10" + + +# create hourly snapshots +TIMELINE_CREATE="yes" + +# cleanup hourly snapshots after some time +TIMELINE_CLEANUP="yes" + +# limits for timeline cleanup +TIMELINE_MIN_AGE="1800" +TIMELINE_LIMIT_HOURLY="10" +TIMELINE_LIMIT_DAILY="10" +TIMELINE_LIMIT_WEEKLY="0" +TIMELINE_LIMIT_MONTHLY="10" +TIMELINE_LIMIT_YEARLY="10" + + +# cleanup empty pre-post-pairs +EMPTY_PRE_POST_CLEANUP="yes" + +# limits for empty pre-post-pair cleanup +EMPTY_PRE_POST_MIN_AGE="1800" + diff --git a/kumonoboru.service b/kumonoboru.service new file mode 100644 index 0000000..264cf31 --- /dev/null +++ b/kumonoboru.service @@ -0,0 +1,8 @@ +[Unit] +Description=Kumonoboru - Cloud Backup Utility + +[Service] +ExecStart=/bin/bash /home/shmick/Scripts/Kumonoboru + +[Install] +WantedBy=multi-user.target diff --git a/kumonoboru.timer b/kumonoboru.timer new file mode 100644 index 0000000..2a5ad3e --- /dev/null +++ b/kumonoboru.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Kumonoboru - Cloud backup utility + +[Timer] +OnCalendar=daily +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/murchison.service b/murchison.service new file mode 100644 index 0000000..a38fd81 --- /dev/null +++ b/murchison.service @@ -0,0 +1,8 @@ +[Unit] +Description=Murchison - Configuration Backup Utility + +[Service] +ExecStart=/bin/bash /home/shmick/Scripts/Murchison + +[Install] +WantedBy=multi-user.target diff --git a/profile b/profile index d392c60..7640ca8 100644 --- a/profile +++ b/profile @@ -1,360 +1,64 @@ -# /etc/profile for SUSE Linux -# -# PLEASE DO NOT CHANGE /etc/profile. There are chances that your changes -# will be lost during system upgrades. Instead use /etc/profile.local for -# your local settings, favourite global aliases, VISUAL and EDITOR -# variables, etc ... +# /etc/profile -# -# Check which shell is reading this file -# -norc=false -restricted=false -if test -f /proc/mounts ; then - if ! is=$(readlink /proc/$$/exe 2>/dev/null) ; then - case "$0" in - *pcksh) is=ksh ;; - *bash) is=bash ;; - *) is=sh ;; - esac - fi - case "$is" in - */bash) is=bash - while read -r -d $'\0' a ; do - case "$a" in - --norc) - readonly norc=true ;; - --restricted) - readonly restricted=true ;; - esac - done < /proc/$$/cmdline - case "$0" in - sh|-sh|*/sh) - is=sh ;; - esac ;; - */ash) is=ash ;; - */dash) is=ash ;; - */ksh) is=ksh ;; - */ksh93) is=ksh ;; - */pdksh) is=ksh ;; - */mksh) is=ksh ;; - */lksh) is=ksh ;; - */*pcksh) is=ksh ;; - */zsh) is=zsh ;; - */*) is=sh ;; - esac - # - # `r' in $- occurs *after* system files are parsed - # - for a in $SHELL ; do - case "$a" in - */r*sh) - readonly restricted=true ;; - -r*|-[!-]r*|-[!-][!-]r*) - readonly restricted=true ;; - --restricted) - readonly restricted=true ;; - esac - done - unset a -else - is=sh -fi +# Set our umask +umask 022 -# -# Call common progams from /bin or /usr/bin only -# -_path () -{ - command -p ${1+"$@"} +# Append "$1" to $PATH when not already in. +# This function API is accessible to scripts in /etc/profile.d +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac } -# -# Initialize terminal -# -tty=`_path tty 2> /dev/null` -test $? -ne 0 && tty="" -if test -O "$tty" -a -n "$PS1"; then - test -z "${TERM}" && { TERM=linux; export TERM; } - test "${TERM}" = "unknown" && { TERM=linux; export TERM; } - test "${TERM}" = "ibm327x" && { TERM=dumb; export TERM; } - if test "$(uname -m)" = "s390x" ; then - if test "$tty" = "/dev/sclp_line0" -o "$tty" = "/dev/ttyS0" ; then - test "${TERM}" = "vt220" && { TERM=dumb; export TERM; } - fi - fi - case "$TERM" in - screen.*) - test -e /usr/share/terminfo/s/${TERM} || { TERM=screen; export TERM; } ;; - esac - # Do not change settings on local line if connected to remote - if test -z "$SSH_TTY" -a "${TERM}" != "dumb" ; then - _path stty sane cr0 pass8 dec - _path tset -I -Q - fi +# Append our default paths +append_path '/usr/local/sbin' +append_path '/usr/local/bin' +append_path '/usr/bin' + +# Force PATH to be environment +export PATH + +# Load profiles from /etc/profile.d +if test -d /etc/profile.d/; then + for profile in /etc/profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile fi + +# Unload our profile API functions +unset -f append_path + +# Source global bash config, when interactive but not posix or sh mode +if test "$BASH" &&\ + test "$PS1" &&\ + test -z "$POSIXLY_CORRECT" &&\ + test "${0#-}" != sh &&\ + test -r /etc/bash.bashrc +then + . /etc/bash.bashrc +fi + +# Termcap is outdated, old, and crusty, kill it. unset TERMCAP -# -# Time until a complete key sequence must have arrived -# -#ESCDELAY=2000 -#export ESCDELAY +# Man is much better than us at figuring this out +unset MANPATH -# -# The user file-creation mask -# -# The global umask value is stored in /etc/login.defs and -# will be set by pam_umask.so (see "man pam_umask"). -#umask 022 - -# -# Setup for gzip and (t)csh users -# -if test -z "$PROFILEREAD" ; then - # GZIP=-9 - # export GZIP - CSHEDIT=emacs - export CSHEDIT -fi - -# -# ksh/ash sometimes do not know -# -test -z "$UID" && readonly UID=`_path id -ur 2> /dev/null` -test -z "$EUID" && readonly EUID=`_path id -u 2> /dev/null` -test -z "$USER" && USER=`_path id -un 2> /dev/null` -test -z "$MAIL" && MAIL=/var/spool/mail/$USER -if test -x /usr/bin/uname ; then - test -z "$HOST" && HOST=`/usr/bin/uname -n` - test "$HOST" = "localhost" && HOST=`/usr/bin/uname -n` - test -z "$CPU" && CPU=`/usr/bin/uname -p` -fi -# Remark: /proc/sys/kernel/domainname and the program domainname -# its self will provide the NIS/YP domainname, see domainname(8). -if test -s /etc/HOSTNAME ; then - test -z "$HOSTNAME" && HOSTNAME=`cat /etc/HOSTNAME` -fi -test -z "$LOGNAME" && LOGNAME=$USER -: ${HOSTNAME:=${HOST}} -: ${HOSTTYPE:=${CPU}} -: ${OSTYPE:=linux} -: ${MACHTYPE:=${CPU}-suse-${OSTYPE}} -# Do NOT export UID, EUID, USER, and LOGNAME -export MAIL HOST CPU HOSTNAME HOSTTYPE OSTYPE MACHTYPE - -# -# You may use /etc/initscript, /etc/profile.local or the -# ulimit package instead to set up ulimits and your PATH. -# -# if test "$is" != "ash" -a ! -r /etc/initscript; then -# ulimit -Sc 0 # don't create core files -# ulimit -Sd $(ulimit -Hd) -# ulimit -Ss $(ulimit -Hs) -# ulimit -Sm $(ulimit -Hm) -# fi - -# -# Make path more comfortable -# -# save current path setting, we might want to restore it -ORIG_PATH=$PATH -# -if test -z "$PROFILEREAD" ; then - PATH=/usr/local/bin:/usr/bin:/bin - if test "$HOME" != "/" ; then - for dir in $HOME/bin/$CPU $HOME/bin $HOME/.local/bin/$CPU $HOME/.local/bin ; do - test -d $dir && PATH=$dir:$PATH - done - fi - if test "$UID" = 0 ; then - test -d /opt/kde3/sbin && PATH=/opt/kde3/sbin:$PATH - PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH - fi - for dir in /usr/X11/bin \ - /usr/X11R6/bin \ - /var/lib/dosemu \ - /usr/games \ - /opt/bin \ - /opt/kde3/bin \ - /opt/kde2/bin \ - /opt/kde/bin \ - /usr/openwin/bin \ - /opt/cross/bin - do - test -d $dir && PATH=$PATH:$dir - done - unset dir - export PATH -fi - -# -# Most bourn shell clones knows about this -# -if test -z "$PROFILEREAD" ; then - HISTSIZE=1000 - export HISTSIZE -fi - -# -# Set some environment variables for TeX/LaTeX (Not used due luatex) -# -#if test -n "$TEXINPUTS" ; then -# TEXINPUTS=":$TEXINPUTS:$HOME/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX" -#else -# TEXINPUTS=":$HOME/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX" -#fi -#export TEXINPUTS - -# -# Configure the default pager on SUSE Linux -# -if test -z "$LESS" -a -x /usr/bin/less ; then - LESS="-M -I -R" - LESSOPEN="lessopen.sh %s" - LESSCLOSE="lessclose.sh %s %s" - LESS_ADVANCED_PREPROCESSOR="no" - if test -s /etc/lesskey.bin ; then - LESSKEY=/etc/lesskey.bin - elif test -s /usr/etc/lesskey.bin ; then - LESSKEY=/usr/etc/lesskey.bin - fi - PAGER=less - MORE=-sl - export LESSOPEN LESSCLOSE LESS LESSKEY PAGER LESS_ADVANCED_PREPROCESSOR MORE -fi - -# -# Minicom -# -if test -z "$PROFILEREAD" ; then - MINICOM="-c on" - export MINICOM -fi - -# -# Some applications do not handle the XAPPLRESDIR environment properly, -# when it contains more than one directory. More than one directory only -# makes sense if you have a client with /usr mounted via nfs and you want -# to configure applications machine dependent. Uncomment the lines below -# if you want this. -# -#XAPPLRESDIR="$XAPPLRESDIR:/var/X11R6/app-defaults:/usr/X11R6/lib/X11/app-defaults" -#export XAPPLRESDIR - -# -# These settings are recommended for old motif applications -# -if test -z "$PROFILEREAD" ; then - if [ -r /usr/share/X11/XKeysymDB ]; then - export XKEYSYMDB=/usr/share/X11/XKeysymDB - else - export XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB - fi - if [ -d /usr/share/X11/nls ]; then - export XNLSPATH=/usr/share/X11/nls - else - export XNLSPATH=/usr/X11R6/lib/X11/nls - fi -fi - -# -# For RCS -# -#VERSION_CONTROL=numbered -#export VERSION_CONTROL - -# -# Source profile extensions for certain packages, the super -# may disable some of them by setting the sticky bit. -# -if test \( -d /etc/profile.d -o -d /usr/etc/profile.d \) -a -z "$PROFILEREAD" ; then - for s in /usr/etc/profile.d/*.sh ; do - test -e "/etc/profile.d/${s##*/}" && continue - test -r "$s" -a ! -k "$s" && . "$s" - done - for s in /etc/profile.d/*.sh ; do - test -r "$s" -a ! -k "$s" && . "$s" - done - unset s -fi - -if test "$is" != "ash" ; then - # - # And now let's see if there is a local profile - # (for options defined by your sysadmin, not SUSE Linux) - # - test -s /etc/profile.local && . /etc/profile.local -fi - -# -# Avoid overwriting user settings if called twice -# -if test -z "$PROFILEREAD" ; then - readonly PROFILEREAD=true - export PROFILEREAD -fi - -# -# Standard ssh command does not do an login, therefore -# /etc/profile will be sourced by /etc/bash.bashrc -# -if test -z "$_SOURCED_FOR_SSH" -a "$norc" != true ; then - # - # System BASH specials, maybe also good for other shells - # Note that ksh always reads /etc/ksh.kshrc - # - if test "$is" != ksh -a "$is" != zsh ; then - _is_save=$is - test -r /etc/bash.bashrc && . /etc/bash.bashrc - is=$_is_save - unset _is_save - fi - if test "$restricted" = true ; then - readonly _HOMEBASHRC=true - fi - if test "$is" = "bash" -a -z "$_HOMEBASHRC" ; then - # loop detection - readonly _HOMEBASHRC=true - test -r $HOME/.bashrc && . $HOME/.bashrc - fi - - # - # KSH specials - # - if test "$is" = "ksh" -a -r /etc/ksh.kshrc ; then - if test "$restricted" = true ; then - readonly _HOMEKSHRC=true - fi - if test ! /etc/bash.bashrc -ef /etc/ksh.kshrc ; then - test -r /etc/bash.bashrc && . /etc/bash.bashrc - fi - if test -n "$ENV" -a "$ENV" != "\$HOME/.kshrc" -a "$ENV" != "$HOME/.kshrc" -a -z "$_HOMEKSHRC" ; then - # loop detection - readonly _HOMEKSHRC=true - test -r $HOME/.kshrc && . $HOME/.kshrc - fi - fi -fi -if test "$restricted" = true ; then - PATH=/usr/lib/restricted/bin - export PATH -fi - -# -# An X session -# -case "$-" in -*i*) - if test "$TERM" = "xterm" -a -O "$tty" -a -z "${SSH_TTY}" ; then - echo "Directory: $PWD" - # Last but not least - date - fi ;; -esac -unset ORIG_PATH -unset is - -# -# End of /etc/profile -# +### +###BackBlaze B2### +export B2_ACCOUNT_ID=8582a42a3b99 #Master Key +export B2_ACCOUNT_KEY=00041845e8dd29d7e3d091d77bb8a631ee71332be7 #Master Application ID +#export B2_ACCOUNT_ID=0008582a42a3b990000000003 +#export B2_ACCOUTN_KEY=K000Zlz7MtKzu2LG0VZlYkeUitGeuHM +export RESTIC_PASSWORD='f$774$#je4%U8vp8ov*UsZMHqL$m3Smh#fEbbt7hyULQxfnnWmSiS5MEndzVWT$$n^@s$P*o4vV*^rgv3jvvrv@y35VppU$$y*vnG5V@botU&4$39Y6t9HSb3Z548M!4' +#export RESTIC_REPOSITORY="b2:Gerbil-TK" #Seperate buckets so not neccesarily +### Shmick's Environment Variables +export SCRIPTS="/home/shmick/Scripts" +### Aliases ### +alias donnagurai="$SCRIPTS/Donnagurai" +alias uu="$SCRIPTS/UnboundUnbound" diff --git a/rootfs b/rootfs new file mode 100644 index 0000000..f5e453d --- /dev/null +++ b/rootfs @@ -0,0 +1,63 @@ + +# subvolume to snapshot +SUBVOLUME="/" + +# filesystem type +FSTYPE="btrfs" + + +# btrfs qgroup for space aware cleanup algorithms +QGROUP="" + + +# fraction or absolute size of the filesystems space the snapshots may use +SPACE_LIMIT="0.5" + +# fraction or absolute size of the filesystems space that should be free +FREE_LIMIT="0.2" + + +# users and groups allowed to work with config +ALLOW_USERS="" +ALLOW_GROUPS="" + +# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots +# directory +SYNC_ACL="no" + + +# start comparing pre- and post-snapshot in background after creating +# post-snapshot +BACKGROUND_COMPARISON="yes" + + +# run daily number cleanup +NUMBER_CLEANUP="yes" + +# limit for number cleanup +NUMBER_MIN_AGE="1800" +NUMBER_LIMIT="50" +NUMBER_LIMIT_IMPORTANT="10" + + +# create hourly snapshots +TIMELINE_CREATE="yes" + +# cleanup hourly snapshots after some time +TIMELINE_CLEANUP="yes" + +# limits for timeline cleanup +TIMELINE_MIN_AGE="1800" +TIMELINE_LIMIT_HOURLY="10" +TIMELINE_LIMIT_DAILY="10" +TIMELINE_LIMIT_WEEKLY="0" +TIMELINE_LIMIT_MONTHLY="10" +TIMELINE_LIMIT_YEARLY="10" + + +# cleanup empty pre-post-pairs +EMPTY_PRE_POST_CLEANUP="yes" + +# limits for empty pre-post-pair cleanup +EMPTY_PRE_POST_MIN_AGE="1800" +