From e589eff80a403bfe7831c040fe55a6bcf5ba038b Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Mon, 6 Dec 2021 15:02:31 +0100 Subject: update --- bin/backup | 55 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 22 deletions(-) (limited to 'bin/backup') diff --git a/bin/backup b/bin/backup index 72c69c3..3964927 100755 --- a/bin/backup +++ b/bin/backup @@ -1,36 +1,47 @@ #!/bin/sh -# Incremental backup using rsync(1). -[ "$USER" = root ] || exec sudo "$0" "$@" +usage() { + echo "Usage: $0 [-nv] [[[user@]host]:dir] -backup() { - date=$(date +%Y%m%d_%H%M%S) - last=$(rsync --list-only "$dest/" 2>/dev/null | cut -b 47- | tail -1) +Incremental backup using rsync(1). If run as root, a full system +backup is performed. Otherwise, the user's home directory is backed. - case $last in - ([12]*) opt_link=--link-dest=../$last;; - (*) opt_link=;; - esac +Options: +-n dry-run +-v verbose - rsync -HSxa$optv --exclude-from=$ignore $opt_link / /boot "$dest/$date" -} +Files: +- $HOME/.backupignore exclude files from user backup (non root) +- /etc/backupignore exclude files from system backup (root) -dest=/.history -ignore=/etc/backup/ignore +Environment: +- BACKUP backup directory" +} -while getopts :d:i:nv opt; do +while getopts :nv opt; do case $opt in - (d) dest="$OPTARG" ;; - (i) ignore="$OPTARG" ;; (n|v) optv="$opt$optv" ;; - (*) echo "Usage: $0 [-nv] [-d [host:]dir] [clean|diff]"; exit 1 ;; + (*) usage; exit 1 ;; esac done shift $((OPTIND - 1)) -[ "$1" ] && cmd=$1 && shift || cmd="" -case $cmd in -(""|save) backup ;; -(clean) exec backup-clean ${optv+-$optv} "$dest";; -(diff) exec diffdir "$@";; +BACKUP=${1:-$BACKUP} +[ "$BACKUP" ] || { usage; exit 1; } + +[ "$USER" = root ] && + ignore=/etc/backupignore volumes='/ /boot' || + ignore="$HOME/.backupignore" volumes="$HOME" +[ -f "$ignore" ] && ignore="--exclude-from=$ignore" || ignore= + +last=$(rsync --list-only "$BACKUP/" 2>/dev/null | awk '{r=$NF} END {print r}') +case $last in +([12]*) opt_link=--link-dest=../$last;; +(*) opt_link=;; esac + +date=$(date +%Y-%m-%d-%H%M%S) + +[ "$optv" ] && echo "# Backup $volumes to $BACKUP/$date" + +exec rsync -HSxa$optv $ignore $opt_link $volumes "$BACKUP/$date" -- cgit v1.3 From 6258df971a00f175cd434e7874c6ba5616b50e60 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Sat, 18 Dec 2021 11:37:10 +0100 Subject: update --- .backupignore | 3 +++ .vimrc | 36 +++++++++++++++++------------------- bin/backup | 3 +-- bin/backup-clean | 11 ++++++++--- 4 files changed, 29 insertions(+), 24 deletions(-) (limited to 'bin/backup') diff --git a/.backupignore b/.backupignore index ade7961..0a92520 100644 --- a/.backupignore +++ b/.backupignore @@ -3,3 +3,6 @@ CacheStorage/ go/pkg/ gopath/pkg/ +sigfox/vm/ +nvlib/ +dvlib/ diff --git a/.vimrc b/.vimrc index 1380fe8..8972385 100644 --- a/.vimrc +++ b/.vimrc @@ -1,14 +1,14 @@ +" General vim defaults " set background= -"set t_te= t_ti= laststatus=2 set t_te= t_ti= ls=1 ruler - +set ai ts=4 sw=4 noet syntax off filetype on filetype plugin on filetype plugin indent on let mapleader = "," -" set rtp+=/opt/homebrew/opt/fzf +"set rtp+=/opt/homebrew/opt/fzf let g:fzf_preview = 'cat {}' " vimki plugin @@ -18,14 +18,17 @@ autocmd filetype vimki set autowrite autocmd filetype vimki nmap z :FZF ~/Wiki " vim-go plugin -let g:go_def_mode = "gopls" -let g:go_info_mode = "gopls" -let g:go_list_type = "quickfix" -" let g:go_fmt_command = "goimports" -let g:go_fmt_command = "gopls" -let g:go_gopls_gofumpt = 1 +"let g:go_def_mode = "gopls" +"let g:go_info_mode = "gopls" +"let g:go_list_type = "quickfix" +"let g:go_fmt_command = "gopls" +"let g:go_gopls_gofumpt = 1 + +let g:go_gopls_enabled = 0 +let g:go_def_mode = "godef" +let g:go_fmt_command = "goimports" let g:go_metalinter_command = "golangci-lint" -autocmd FileType go syntax on +"autocmd FileType go syntax on autocmd FileType go nmap b (go-build) autocmd FileType go nmap i (go-info) autocmd FileType go nmap r (go-run) @@ -35,21 +38,15 @@ autocmd FileType go nmap v (go-referrers) autocmd FileType go nmap n :cnext autocmd FileType go nmap p :cprevious autocmd FileType go nmap a :cclose -autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 +" autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 let g:netrw_browsex_viewer = "open" let g:netrw_gx = "" let g:netrw_banner = 0 -autocmd filetype javascript,html,json,yaml set ts=2 sts=2 sw=2 et +" python and yaml formatting: +autocmd filetype python,yaml set ts=2 sts=2 sw=2 et -" :set wm=2 linebreak -" :set term=ansi -":set modeline -":set modelines=5 -set autoindent -"set breakindent -" :set ts=2 sw=2 sts=2 et :set wrap :set linebreak :set nolist @@ -79,3 +76,4 @@ noremap n :bn noremap :bd noremap o :!open & noremap :tag +noremap :Files diff --git a/bin/backup b/bin/backup index 3964927..d682849 100755 --- a/bin/backup +++ b/bin/backup @@ -42,6 +42,5 @@ esac date=$(date +%Y-%m-%d-%H%M%S) -[ "$optv" ] && echo "# Backup $volumes to $BACKUP/$date" - +echo "# Backup $volumes to $BACKUP/$date" exec rsync -HSxa$optv $ignore $opt_link $volumes "$BACKUP/$date" diff --git a/bin/backup-clean b/bin/backup-clean index 1c752d9..34e6d97 100755 --- a/bin/backup-clean +++ b/bin/backup-clean @@ -33,7 +33,7 @@ host=${BACKUP%:*} dir=${BACKUP#*:} ls='ls -r' rm="xargs -r $optv $optn rm -rf" [ "$host" = "$dir" ] || ls="ssh $host $ls" rm="ssh $host $rm" -[ "$optv" ] && echo "# Cleaning backups on $BACKUP" +echo "# Cleaning backups on $BACKUP" $ls "$dir" | awk -v now=$(date +%Y-%m-%d) -v dir="$dir" ' @@ -48,11 +48,16 @@ BEGIN { db = substr($0, 9, 2) # Day backup $0 = dir "/" $0 - if (yb != yn) { + dy = yn - yb + dm = dy * 12 + mn - mb + # if (yb != yn) { + if (dm > 12) { if (yb in yearly) print; else yearly[yb] = 1 next } - if (mb != mn) { + # if (mb != mn) { + dd = dm * 30 + dn - db + if (dd > 30) { if (mb in monthly) print; else monthly[mb] = 1 next } -- cgit v1.3 From 5b201b3fcd94c8bad917e2b45dbb1105cb060cdb Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Sat, 1 Oct 2022 12:41:24 +0200 Subject: update --- .Xresources | 1 + .config/i3/config | 6 ++++-- .screenrc | 2 ++ bin/backup | 26 +++++++++++++++++--------- 4 files changed, 24 insertions(+), 11 deletions(-) (limited to 'bin/backup') diff --git a/.Xresources b/.Xresources index 8fc5281..ec47c2e 100644 --- a/.Xresources +++ b/.Xresources @@ -21,6 +21,7 @@ URxvt.keysym.C-Next: font-size:decrease !URxvt.background: black xterm*termName: xterm-256color +xterm*internalBorder: 4 xterm*VT100.Translations: #override \ Ctrl Next: smaller-vt-font() \n\ Ctrl Prior: larger-vt-font() \n diff --git a/.config/i3/config b/.config/i3/config index 6220086..1740966 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -120,6 +120,7 @@ floating_modifier $mod # start a terminal bindsym $mod+Return exec --no-startup-id xt bindsym $mod+t exec --no-startup-id uxterm +bindsym $mod+Shift+t exec --no-startup-id xtb # kill focused window bindsym $mod+Shift+a kill @@ -133,9 +134,10 @@ bindsym --release button2 kill # installed. #bindsym $mod+d exec --no-startup-id i3-dmenu-desktop -dmenu="dmenu -i -fn 'Mono-9'" #bindsym F1 exec --no-startup-id i3-dmenu-desktop -dmenu="dmenu -i -fn 'Mono-9'" -bindsym $mod+d exec --no-startup-id i3-dmenu-desktop +#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop #bindsym F1 exec --no-startup-id i3-dmenu-desktop -entry-type=command -bindsym F1 exec --no-startup-id i3-dmenu-desktop -dmenu="dmenu -i -fn 'Fixed-12'" +#bindsym F1 exec --no-startup-id i3-dmenu-desktop -dmenu="dmenu -i -fn 'Fixed-12'" +bindsym $mod+d exec --no-startup-id i3-dmenu-desktop -dmenu="dmenu -i -fn 'Fixed-12'" # Use playerctl to control media player from keyboard bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause diff --git a/.screenrc b/.screenrc index 3337674..1a802d2 100644 --- a/.screenrc +++ b/.screenrc @@ -1 +1,3 @@ startup_message off +defmousetrack on +mousetrack on diff --git a/bin/backup b/bin/backup index d682849..9e73703 100755 --- a/bin/backup +++ b/bin/backup @@ -1,5 +1,7 @@ #!/bin/sh +# A backup a day keeps the doctor away. + usage() { echo "Usage: $0 [-nv] [[[user@]host]:dir] @@ -34,13 +36,19 @@ BACKUP=${1:-$BACKUP} ignore="$HOME/.backupignore" volumes="$HOME" [ -f "$ignore" ] && ignore="--exclude-from=$ignore" || ignore= -last=$(rsync --list-only "$BACKUP/" 2>/dev/null | awk '{r=$NF} END {print r}') -case $last in -([12]*) opt_link=--link-dest=../$last;; -(*) opt_link=;; -esac - -date=$(date +%Y-%m-%d-%H%M%S) +now=$(date +%F) +opt_link='' +past=$(rsync --list-only "$BACKUP/" 2>/dev/null | awk '{print $NF}' | sort -r) +for f in $past +do + case $f in + ([0-9][0-9][0-9][0-9]-*) ;; + (*) continue ;; + esac + [ "$f" = "$now" ] && continue + opt_link="--link-dest=../$f" + break +done -echo "# Backup $volumes to $BACKUP/$date" -exec rsync -HSxa$optv $ignore $opt_link $volumes "$BACKUP/$date" +echo "# Backup $volumes to $BACKUP/$now" +exec rsync -HSXxa$optv $ignore $opt_link $volumes "$BACKUP/$now" -- cgit v1.3