# * settings
-if [[ $HISTFILE ]]; then
+if [[ $LESSHISTFILE == - ]]; then
+ HISTFILE=
+ c() { cd "$@"; }
+elif [[ $HISTFILE ]]; then
HISTFILE=$HOME/.bh
fi
path-add --ifexists --end /a/work/libremanage
path-add --ifexists --end /a/opt/adt-bundle*/tools /a/opt/adt-bundle*/platform-tools
path-add --ifexists --end /a/opt/scancode-toolkit-3.10.
+path-add --ifexists --end /p/bin
case $HOSTNAME in
sy|bo)
s rsync -e "ssh -F /root/.ssh/confighome" "$@"
}
+zcheck() {
+ ssh bow DISPLAY=:0 scrot /tmp/oegu.jpg
+ scp bow:/tmp/oegu.jpg /t
+ ssh bow rm /tmp/oegu.jpg
+ feh /t/oegu.jpg
+}
slemacs() {
local arg rtime v
fi
ngreset
}
-ngset() {
- if shopt nullglob >/dev/null; then
- ngreset=false
- else
- shopt -s nullglob
- ngreset=true
- fi
-}
-ngreset() {
- if $ngreset; then
- shopt -u nullglob
- fi
-}
checkre() {
s checkrestart -b /a/bin/ds/checkrestart-blacklist -pv
# work log
wlog() {
- local day now i
- for (( i=0; i<60; i++ )); do
+ local day now i days_back
+ days_back=${1:-16}
+ for (( i=0; i<days_back; i++ )); do
day=$( date +%F -d @$((EPOCHSECONDS - 86400*i )) )
date "+%a %b %d" -d @$((EPOCHSECONDS - 86400*i )) | tr '\n' ' '
/a/opt/timetrap/bin/t d -ftotal -s $day -e $day all -m '^w|lunch$'
mnsnonet() {
ns=$1
+ lomh
if ! s ip netns list | grep -Fx nonet &>/dev/null; then
s ip netns add nonet
fi
done
}
-# these might need a mu index or something added.
-mbenable() {
- local mb=$1
- dst=/m/4e/$mb
- src=/m/md/$mb
- [[ -e $src ]] || { echo "src:$src does not exist"; return 1; }
- m mv -T $src $dst
- m ln -s -T $dst $src
-}
-mb2enable() {
- local mb
- for mb; do
- dst=/m/4e2/$mb
- link=/m/md/$mb
- src=/m/md/$mb
- if [[ ! -e $src || -L $src ]]; then
- src=/m/4e/$mb
+# maildir enable
+mdenable() {
+ local md dst ln_path src two
+
+ two=false
+ case $1 in
+ -2) two=true shift ;;
+ esac
+
+ for md; do
+ src=
+ if $two; then
+ dst=/m/4e2/$md
+ else
+ dst=/m/4e/$md
+ fi
+
+ ln_path=/m/md/$md
+ for d in /m/md/$md /m/4e2/$md; do
+ if [[ -d $d && ! -L $d ]]; then
+ src=$d
+ break
+ fi
+ done
+ if [[ ! $src ]]; then
+ echo "error: could not find $md" >&2
+ return 1
fi
- [[ -e $src ]] || { echo "src:$src does not exist"; return 1; }
m mv -T $src $dst
- m ln -sf -T $dst $link
+ m ln -sf -T $dst $ln_path
done
}
-mbdisable() {
- local mb=$1
- dst=/m/md/$mb
- src=/m/4e/$mb
- set -x
- [[ -e $src ]] || { set +x; return 1; }
- if [[ -L $dst ]]; then rm $dst; fi
- mv -T $src $dst
- set +x
+md2enable() {
+ mdenable -2 "$@"
}
-mb2disable() {
- local mb=$1
- dst=/m/md/$mb
- src=/m/4e2/$mb
- set -x
- [[ -e $src ]] || { set +x; return 1; }
- if [[ -L $dst ]]; then rm $dst; fi
- mv -T $src $dst
- set +x
+mddisable() {
+ local md=$1
+ dst=/m/md/$md
+
+ ### begin copied from mdenable, but different d ###
+ for d in /m/4e/$md /m/4e2/$md; do
+ if [[ -d $d && ! -L $d ]]; then
+ src=$d
+ break
+ fi
+ done
+ if [[ ! $src ]]; then
+ echo "error: could not find $md" >&2
+ return 1
+ fi
+ ### end copy from mdenable ###
+
+ if [[ -L $dst ]]; then m rm $dst; fi
+ m mv -T $src $dst
}
arg+=(")")
dir=${1:-.}
# debug:
- #find $dir "${arg[@]}" -size +1M
- find $dir "${arg[@]}" -size +1M -exec mpv --profile=d '{}' +
+ #find $dir "${arg[@]}" -size +200k
+ find $dir "${arg[@]}" -size +200k -exec mpv --profile=d '{}' +
}
mpvs() {
mpv --profile=s "$@";
}
mygajim() {
- local time time_sec time_pretty
+ local time time_sec time_pretty days
+ days=${1:-16}
sqlite3 -separator ' ' /p/c/subdir_files/.local/share/gajim/logs.db "select time, message from logs where contact_name = 'iank' and jid_id = 17;" | while read -r time l; do
case $time in
16*) : ;;
echo $time_pretty "$l"
time_sec=${time%%.*}
# only look at the last 18 days. generally just use this for timesheet.
- if (( time_sec < EPOCHSECONDS - 60 * 60 * 24 * 18 )); then break; fi
+ if (( time_sec < EPOCHSECONDS - 60 * 60 * 24 * days )); then break; fi
done
}
sqlite3 -separator ' ' /p/c/subdir_files/.local/share/gajim/logs.db "select time, message from logs" | less
}
+
net-dev-info() {
e "lspci -nnk|gr -iA2 net"
lspci -nnk|gr -iA2 net
}
+r2e() { command r2e -d /p/c/rss2email.json -c /p/c/rss2email.cfg "$@"; }
# only run on MAIL_HOST. simpler to keep this on one system.
r2eadd() { # usage: name url
# initial setup of rss2email:
# get up to date and dont send old entries now:
r2e run --no-send $1
}
-r2e() { command r2e -d /p/c/rss2email.json -c /p/c/rss2email.cfg "$@"; }
rspicy() { # usage: HOST DOMAIN
# connect to spice vm remote host. use vspicy for local host
fi
}
-# alert when a page goes live. not urgent.
+# alert when a page goes live.
alert200() {
+ local quiet url tmpdir
+ quiet=false
+ case $1 in
+ # dont send a diff of the html. some html is not very readable
+ -q) quiet=true
+ shift
+ ;;
+ esac
url="$1"
tmpdir="$(mktemp -d)"
cd $tmpdir
while true; do
- if torsocks wget -q "$url"; then
- alertme $tmpdir
+ if wget -q "$url"; then
+ if $quiet; then
+ echo | daylert 200
+ else
+ alertme $tmpdir
+ fi
fi
- sleep $(( 600 + RANDOM % 300 ))
+ sleep $(( 120 + RANDOM % 300 ))
done
}
# exim -t 'test@zroe.org, t2@zroe.org' <<'EOF'
#
# -t = get recipient from header
- exim -d -t <<'EOF'
-From: root@$(hostname-f)
-To: root@$(hostname-f)
+ exim -d -t <<EOF
+From: root@$(hostname -f)
+To: root@$(hostname -f)
Subject: test2
This is a test message.
EOF
}
+# test bounce exim
+testbexim() {
+ to=$1
+ exim -d -f '<>' $to <<EOF
+From: Mail Delivery System <Mailer-Daemon@gnu.org>
+To: $to
+Subject: Mail delivery failed: returning message to sender
+
+This message was created automatically by mail delivery software.
+EOF
+
+}
+
+
# toggle keyboard
tk() {
# based on
m sudo nsenter -t $pid -n -m sudo -u $USER -i bash
}
+sdnbashroot() { # systemd namespace bash
+ local unit pid
+ if (( $# != 1 )); then
+ echo $0: error wrong number of args >&2
+ return 1
+ fi
+ unit=$1
+ pid=$(servicepid $unit)
+ m sudo nsenter -t $pid -n -m bash
+}
+
+
sdncmd() { # systemd namespace cmd
local unit pid
if (( $# <= 2 )); then