Compare commits
154 Commits
0d8a63b36c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2a7248134c | |||
| 9143f963ec | |||
| 6feb6c1b8e | |||
| 9f771ff2ab | |||
| ee964aed89 | |||
| 5952c420ad | |||
| 4e75614ab5 | |||
| 9d41dce4e4 | |||
| 4195df9655 | |||
| 1aaa5359e3 | |||
| b62d19d211 | |||
| b93afef350 | |||
| a2abf7978f | |||
| 68a27e2912 | |||
| d14290ba17 | |||
| 4da8e4447f | |||
| f462553901 | |||
| 11667d32b7 | |||
| 57ddc6ad40 | |||
| 9659070473 | |||
| 9afb203f97 | |||
| be96f9818a | |||
| f90c66598d | |||
| 1198a9af33 | |||
| 7efbb28ac4 | |||
| 148b1ed39e | |||
| 1bfd69d9a0 | |||
| efc5f719fc | |||
| b61edcd9f7 | |||
| ba17833609 | |||
| df804a3e15 | |||
| 3f6845e0d9 | |||
| a62435a002 | |||
| eb05d5d7cd | |||
| 20c8f06a76 | |||
| 09d812bfd0 | |||
| 4b36911408 | |||
| 4c3da24e36 | |||
| d93e5a3b55 | |||
| 8cfaaa3932 | |||
| 2fb6f53a8f | |||
| 9665754b3e | |||
| 1b5c1a8441 | |||
| acc0cb2f87 | |||
| c1d9f7d6e5 | |||
| 2e5ef5615f | |||
| d9ec350e5b | |||
| 270f09b801 | |||
| 0cd6c272e1 | |||
| d010f37c4a | |||
| 102eb2ee21 | |||
| 672bbe009c | |||
| c277cbbf35 | |||
| 3d0a84d533 | |||
| 8096166d57 | |||
| c31d0316ed | |||
| d5a64ae3a3 | |||
| db48915322 | |||
| e77122f7c7 | |||
| 1c9a2ef0b9 | |||
| 8856de889c | |||
| 457bd31614 | |||
| 2059ae595e | |||
| a3786b84da | |||
| a46c01158d | |||
| 6953b4f80f | |||
| 2561a790ec | |||
| 1ec5e48223 | |||
| 1cd30dc830 | |||
| f36acc7dfc | |||
| 35c35c10db | |||
| 826ef798e2 | |||
| c4e41f4db0 | |||
| bd61a52048 | |||
| 0376cc9f27 | |||
| c362866a8e | |||
| 50ba92d00c | |||
| 0ddd3196fc | |||
| fb6489c925 | |||
| aeec088d14 | |||
| 5f82587196 | |||
| 1f023121da | |||
| faf9f0a3c1 | |||
| eaad5c3a0c | |||
| 0892da3971 | |||
| 6fd73cff74 | |||
| 841d229e26 | |||
| 02195dac92 | |||
| f44e62dd62 | |||
| a90b46fffb | |||
| 8fa7e501a8 | |||
| 059a33a988 | |||
| 8976ade8c2 | |||
| b2528558cb | |||
| 31d4f0a7aa | |||
| 20942d9cb1 | |||
| 667f331ce7 | |||
| cf2aa8352d | |||
| a7f64d366c | |||
| e38d35266e | |||
| 9887ade30b | |||
| 9ebd76045b | |||
| 215781ab36 | |||
| 5008d3042c | |||
| 96e8a999dd | |||
| 557d6b8af5 | |||
| cdcf538780 | |||
| 7c9bc71489 | |||
| 5ad1054825 | |||
| 660a84d7cd | |||
| 24609df730 | |||
| 33fed6afac | |||
| 6cad538832 | |||
| ccf0c11241 | |||
| 522c04a70c | |||
| 5c29e93a72 | |||
| fc32bf7138 | |||
| 0a0e702a5e | |||
| 10c7900722 | |||
| 055f82f923 | |||
| 08b020b345 | |||
| dc653b6093 | |||
| 41776109fe | |||
| 7f74549ff8 | |||
| 1b2fad60ad | |||
| 754c0602f3 | |||
| cd397820ec | |||
| e6039bf42a | |||
| 6605bf1e06 | |||
| 36268721e1 | |||
| d4bb7dc700 | |||
| 2739529af3 | |||
| 044e59366e | |||
| d012debb94 | |||
| eda0139d82 | |||
| 65d946a039 | |||
| 3de950869a | |||
| 4e5cfd8b2d | |||
| 074db5f041 | |||
| 34921bc200 | |||
| a909b0573e | |||
| 91473802c5 | |||
| 6b9f5b75b8 | |||
| ca72e87b8b | |||
| fd1effa00e | |||
| a886c12cf6 | |||
| 94f413f0af | |||
|
|
c6543c4503 | ||
|
|
edb9d1e9cb | ||
|
|
8808346596 | ||
| 3b031223ca | |||
| 546bd924c6 | |||
| b6ea32968b | |||
| 04e5167fc2 |
5
READ.ME
5
READ.ME
@@ -3,7 +3,8 @@ Verzeichnis anlegen, Besitz anpassen, git clone
|
|||||||
|
|
||||||
sudo mkdir -p /opt/git-sync
|
sudo mkdir -p /opt/git-sync
|
||||||
sudo chown andre:andre /opt/git-sync
|
sudo chown andre:andre /opt/git-sync
|
||||||
sudo -u andre git clone http://c71a0c8e7e22b29018cbe9f02244d02765678b21@rdfhrn.synology.me:8418/andre/git-sync.git /opt/git-sync/
|
sudo -u andre git clone http://f65f0933836d845768e15ccbec40581ade496118@rdfhrn.synology.me:8418/andre/git-sync.git /opt/git-sync/
|
||||||
|
#neu f65f0933836d845768e15ccbec40581ade496118
|
||||||
|
#alt c71a0c8e7e22b29018cbe9f02244d02765678b21
|
||||||
chmod +x /opt/git-sync/rootfs/home/andre/git-sync-install.sh
|
chmod +x /opt/git-sync/rootfs/home/andre/git-sync-install.sh
|
||||||
bash /opt/git-sync/rootfs/home/andre/git-sync-install.sh
|
bash /opt/git-sync/rootfs/home/andre/git-sync-install.sh
|
||||||
@@ -6,10 +6,10 @@ _devices_rancid() {
|
|||||||
|
|
||||||
if [ -f ~/router.db ];
|
if [ -f ~/router.db ];
|
||||||
then
|
then
|
||||||
# COMPREPLY=($(compgen -W "$(sed -n 's/\([^;]*\);.*$/\1/p' ~/router.db | sort -u)" -- $curw))
|
# COMPREPLY=($(compgen -W "$(sed -n 's/\([^;]*\);.*$/\1/p' $HOME/router.db | sort -u)" -- $curw))
|
||||||
# Verknüpft die auf Hostnamen reduzierte Ausgaben der Zeilen in router.db und der hosts
|
# Verknüpft die auf Hostnamen reduzierte Ausgaben der Zeilen in router.db und der hosts
|
||||||
# die Gesamtliste wird unique sortiert und für die completion verwendet
|
# die Gesamtliste wird unique sortiert und für die completion verwendet
|
||||||
COMPREPLY=($(compgen -W "$( (sed -n 's/\([^;]*\);.*$/\1/p' ~/router.db ; sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts) | sort -u )" -- $curw))
|
COMPREPLY=($(compgen -W "$( (sed -n 's/\([^;]*\);.*$/\1/p' $HOME/router.db ; sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts) | sort -u )" -- $curw))
|
||||||
else
|
else
|
||||||
COMPREPLY=($(compgen -W "$( sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts | sort -u )" -- $curw))
|
COMPREPLY=($(compgen -W "$( sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts | sort -u )" -- $curw))
|
||||||
fi
|
fi
|
||||||
@@ -18,4 +18,5 @@ _devices_rancid() {
|
|||||||
complete -F _devices_rancid -o dirnames clogin
|
complete -F _devices_rancid -o dirnames clogin
|
||||||
complete -F _devices_rancid -o dirnames ping
|
complete -F _devices_rancid -o dirnames ping
|
||||||
complete -F _devices_rancid -o dirnames ssh
|
complete -F _devices_rancid -o dirnames ssh
|
||||||
complete -F _devices_rancid -o dirnames __eping
|
complete -F _devices_rancid -o dirnames cy-ssh
|
||||||
|
complete -F _devices_rancid -o dirnames eping
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ ff02::2 ip6-allrouters
|
|||||||
192.168.100.5 openarchiver.lan
|
192.168.100.5 openarchiver.lan
|
||||||
192.168.100.5 paperless.lan
|
192.168.100.5 paperless.lan
|
||||||
192.168.100.5 portainer.lan
|
192.168.100.5 portainer.lan
|
||||||
|
192.168.100.5 gitea.lan
|
||||||
192.168.100.5 server.lan server
|
192.168.100.5 server.lan server
|
||||||
|
|
||||||
192.168.100.129 adguard.lan
|
192.168.100.129 adguard.lan
|
||||||
@@ -28,6 +29,21 @@ ff02::2 ip6-allrouters
|
|||||||
192.168.100.134 endurain.lan
|
192.168.100.134 endurain.lan
|
||||||
|
|
||||||
|
|
||||||
192.168.100.250 synology.lan rdfhrn.synology.me
|
192.168.100.250 synology.lan synology
|
||||||
|
#rdfhrn.synology.me
|
||||||
|
|
||||||
78.46.82.234 vesta.agserver.de vesta
|
78.46.82.234 vesta.agserver.de vesta
|
||||||
|
|
||||||
|
192.168.100.5 endurain.rproxy.home
|
||||||
|
192.168.100.5 garmin.rproxy.home grafana.rproxy.home
|
||||||
|
192.168.100.5 git.rproxy.home gitea.rproxy.home
|
||||||
|
192.168.100.5 nas.rproxy.home synology.rproxy.home
|
||||||
|
192.168.100.5 npm.rproxy.home proxy.rproxy.home rproxy.rproxy.home
|
||||||
|
192.168.100.5 openarchiver.rproxy.home
|
||||||
|
192.168.100.5 paperless.rproxy.home
|
||||||
|
192.168.100.5 portainer.rproxy.home
|
||||||
|
192.168.100.5 wallabag.rproxy.home
|
||||||
|
192.168.100.5 adguard.rproxy.home
|
||||||
|
192.168.100.5 ha.rproxy.home homeassistant.rproxy.home
|
||||||
|
192.168.100.5 matter.rproxy.home
|
||||||
|
192.168.100.5 observium.rproxy.home
|
||||||
@@ -3,6 +3,6 @@ Description=Synchronize files from Git repository
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
User=andre
|
User=root
|
||||||
WorkingDirectory=/opt/git-sync/
|
WorkingDirectory=/opt/git-sync/
|
||||||
ExecStart=/usr/local/bin/git-sync.sh
|
ExecStart=bash /usr/local/bin/git-sync.sh
|
||||||
9
rootfs/etc/systemd/system/home-sync.service
Normal file
9
rootfs/etc/systemd/system/home-sync.service
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Home Sync Script
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
User=andre
|
||||||
|
ExecStart=bash /home/andre/home-sync.sh
|
||||||
18
rootfs/etc/systemd/system/home-sync.timer
Normal file
18
rootfs/etc/systemd/system/home-sync.timer
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Run home-sync 5 minutes after boot and daily
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
# 5 Minuten nach jedem Boot
|
||||||
|
OnBootSec=5min
|
||||||
|
|
||||||
|
# 1x täglich
|
||||||
|
OnCalendar=daily
|
||||||
|
|
||||||
|
# Falls der Rechner zur geplanten Zeit aus war,
|
||||||
|
# wird es beim nächsten Start nachgeholt
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
Unit=home-sync.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
@@ -1,39 +1,27 @@
|
|||||||
###
|
[[ $- != *i* ]] && return
|
||||||
### Version vom 29. November 2025 (1)
|
|
||||||
###
|
|
||||||
#
|
|
||||||
# set +o history; source <(curl -k https://tools.andregeissler.de/bashrc) ; set -o history; history -c
|
|
||||||
#
|
|
||||||
|
|
||||||
export HISTCONTROL=ignoreboth:erasedups
|
export HISTCONTROL=ignoreboth:erasedups
|
||||||
export HISTFILESIZE=20000
|
export HISTFILESIZE=20000
|
||||||
export HISTSIZE=5000
|
export HISTSIZE=5000
|
||||||
export HISTTIMEFORMAT="%F %T "
|
export HISTTIMEFORMAT="%F %T "
|
||||||
export HISTIGNORE="free*:exit:clear:man*:mc*:history*:set*:export*:alias*:source*:declare*:__*"
|
export HISTIGNORE="free*:exit:clear:man*:mc*:history*:set*:export*:alias*:source*:declare*:__*"
|
||||||
|
export HOMEDIR=/home/andre
|
||||||
|
|
||||||
alias ll='ls -haltr'
|
alias ll='ls -haltr'
|
||||||
alias ppm="sudo perl -MCPAN -e 'shell'"
|
alias ppm="sudo perl -MCPAN -e 'shell'"
|
||||||
alias RDPC='__RDP 10.101.0.236'
|
alias RDPC='RDP 10.101.0.236'
|
||||||
|
|
||||||
alias __activate_bashrc='set +o history; source <(curl -k https://tools.andregeissler.de/bashrc) ; set -o history ; history -c'
|
alias ssh_h='egrep "^# " .ssh/config'
|
||||||
alias __backup_bashrc='set +o history; scp -P 2222 ~/.bashrc andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/bashrc ; set -o history'
|
|
||||||
alias __restore_bashrc='set +o history; scp -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/bashrc ~/.bashrc ; set -o history'
|
|
||||||
|
|
||||||
alias __backup_ssh_host_config='set +o history; scp -P 2222 ~/.ssh/config andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/ssh_host_config ; set -o history'
|
|
||||||
alias __restore_ssh_host_config='set +o history; scp -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/ssh_host_config ~/.ssh/config ; set -o history'
|
|
||||||
alias __ssh_host_config=__restore_ssh_host_config
|
|
||||||
alias __ssh_h='egrep "^# " .ssh/config'
|
|
||||||
alias ßh=ssh
|
alias ßh=ssh
|
||||||
alias TS='ts "%Y-%m-%d %H:%M:%S"'
|
alias TS='ts "%Y-%m-%d %H:%M:%S"'
|
||||||
|
alias clear_history="history -c && history -w && clear"
|
||||||
alias __clear_history="history -c && history -w && clear"
|
alias extip='echo $(curl --connect-timeout 5 -s https://ipinfo.io/ip)'
|
||||||
|
|
||||||
alias __extip='echo $(curl --connect-timeout 5 -s https://ipinfo.io/ip)'
|
|
||||||
alias grep='grep --line-buffered'
|
alias grep='grep --line-buffered'
|
||||||
alias egrep='egrep --line-buffered'
|
alias egrep='egrep --line-buffered'
|
||||||
|
alias mysudo='sudo bash --rcfile $HOMEDIR/.bashrc'
|
||||||
|
|
||||||
if [ -x /usr/bin/dircolors ]; then
|
if [ -x /usr/bin/dircolors ]; then
|
||||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
test -r $HOMEDIR/.dircolors && eval "$(dircolors -b $HOMEDIR/.dircolors)" || eval "$(dircolors -b)"
|
||||||
export GREP_COLORS='1;37;41'
|
export GREP_COLORS='1;37;41'
|
||||||
|
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
@@ -49,19 +37,20 @@ fi
|
|||||||
export SSHUSER=ageissler
|
export SSHUSER=ageissler
|
||||||
export SSHPASS=G0ttAmH3rd
|
export SSHPASS=G0ttAmH3rd
|
||||||
export GPGKEY=13FAA6FC
|
export GPGKEY=13FAA6FC
|
||||||
|
export MYSERVER=vesta.agserver.de
|
||||||
|
|
||||||
export EDITOR=vi
|
export EDITOR=vi
|
||||||
# export PERL_MB_OPT="--install_base \"/home/andre/perl5\""
|
# export PERL_MB_OPT="--install_base \"$HOMEDIR/perl5\""
|
||||||
# export PERL_MM_OPT="INSTALL_BASE=/home/andre/perl5"
|
# export PERL_MM_OPT="INSTALL_BASE=$HOMEDIR/perl5"
|
||||||
export PERL_MM_USE_DEFAULT=1
|
export PERL_MM_USE_DEFAULT=1
|
||||||
export PATH=$PATH:.:~:/install/:/home/andre/scripts/:/home/andre/bin/:
|
export PATH=$PATH:.:~:/install/:$HOMEDIR/scripts/:$HOMEDIR/bin/:
|
||||||
export PROMPT_DIRTRIM=10
|
export PROMPT_DIRTRIM=10
|
||||||
|
|
||||||
color_prompt=yes
|
color_prompt=yes
|
||||||
|
|
||||||
# $- Options set for shell
|
# $- Options set for shell
|
||||||
if echo "$-" | grep i > /dev/null; then
|
if echo "$-" | grep i > /dev/null; then
|
||||||
ip=`__extip`
|
ip=`extip`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# \n grün username@hostname dflt :blau workingdir dflt \n ip \n RET: grün oder rot je nach ret, ret gelb zeit dflt blau $ dflt
|
# \n grün username@hostname dflt :blau workingdir dflt \n ip \n RET: grün oder rot je nach ret, ret gelb zeit dflt blau $ dflt
|
||||||
@@ -78,17 +67,139 @@ shopt -s cmdhist
|
|||||||
shopt -s dotglob
|
shopt -s dotglob
|
||||||
shopt -s interactive_comments
|
shopt -s interactive_comments
|
||||||
shopt -s expand_aliases
|
shopt -s expand_aliases
|
||||||
|
shopt -s extglob
|
||||||
|
|
||||||
__RDP() {
|
cy-ssh() {
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "Usage: $0 <host> [ssh-options...]"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
HOST="$1"
|
||||||
|
shift || true
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
DOMAIN1="conadm.de"
|
||||||
|
DOMAIN2="conacc.local"
|
||||||
|
SSH_HOSTNAME="finance"
|
||||||
|
SSH_PROXY=""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Gemeinsame CyberArk-Auth-Optionen
|
||||||
|
###############################################################################
|
||||||
|
CYBERARK_USER="ageissler@ageissler@${HOST}"
|
||||||
|
CYBERARK_AUTH_OPTS="-o PreferredAuthentications=publickey,keyboard-interactive,password"
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Host conlx*
|
||||||
|
###############################################################################
|
||||||
|
if [[ "$HOST" == con* ]]; then
|
||||||
|
CYBERARK_USER="ageissler@root@${HOST}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$HOST" == conlxvmhub* ]]; then
|
||||||
|
SSH_HOSTNAME="hosting"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Host switch-catalyst-* switch-nexus-* switch-fibre-* router-*
|
||||||
|
###############################################################################
|
||||||
|
if [[ "$HOST" == switch-catalyst-* \
|
||||||
|
|| "$HOST" == switch-nexus-* \
|
||||||
|
|| "$HOST" == switch-fibre-* \
|
||||||
|
|| "$HOST" == router-* ]]; then
|
||||||
|
|
||||||
|
SSH_HOSTNAME="finance"
|
||||||
|
fi
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Host switch-admin-*
|
||||||
|
###############################################################################
|
||||||
|
if [[ "$HOST" == switch-admin-* ]]; then
|
||||||
|
SSH_HOSTNAME="admin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Host router-swx-*
|
||||||
|
###############################################################################
|
||||||
|
if [[ "$HOST" == router-swx-* ]]; then
|
||||||
|
SSH_HOSTNAME="admin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prüfe ob Hostname auflösbar ist
|
||||||
|
if ! getent hosts "$SSH_HOSTNAME" >/dev/null 2>&1 ; then
|
||||||
|
# Versuche alternativen Hostname
|
||||||
|
SSH_HOSTNAME_DOM="${SSH_HOSTNAME}.${DOMAIN1}"
|
||||||
|
if ! getent hosts "$SSH_HOSTNAME_DOM" >/dev/null 2>&1; then
|
||||||
|
SSH_HOSTNAME_DOM="${SSH_HOSTNAME}.${DOMAIN2}"
|
||||||
|
if ! getent hosts "$SSH_HOSTNAME_DOM" >/dev/null 2>&1; then
|
||||||
|
echo "
|
||||||
|
! cy-ssh Fehler: \"${SSH_HOSTNAME}\" und \"${SSH_HOSTNAME}.${DOMAIN1}\" und \"${SSH_HOSTNAME}.${DOMAIN2}\" nicht auflösbar" >&2
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
SSH_HOSTNAME=$SSH_HOSTNAME_DOM
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Nutze $SSH_HOSTNAME"
|
||||||
|
|
||||||
|
SSH_USER="$CYBERARK_USER"
|
||||||
|
SSH_AUTH_OPTS="$CYBERARK_AUTH_OPTS"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# SSH-Command bauen
|
||||||
|
###############################################################################
|
||||||
|
CMD=(ssh)
|
||||||
|
|
||||||
|
if [ -n "$SSH_USER" ]; then
|
||||||
|
CMD+=(-l "$SSH_USER")
|
||||||
|
fi
|
||||||
|
|
||||||
|
CMD+=(-o ForwardX11=no -o ForwardX11Trusted=no)
|
||||||
|
CMD+=(-o HostName="$SSH_HOSTNAME")
|
||||||
|
|
||||||
|
if [ -n "$SSH_PROXY" ]; then
|
||||||
|
CMD+=(-o ProxyCommand="$SSH_PROXY")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$SSH_AUTH_OPTS" ]; then
|
||||||
|
CMD+=($SSH_AUTH_OPTS)
|
||||||
|
fi
|
||||||
|
|
||||||
|
CMD+=("$SSH_HOSTNAME" "$@")
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Optional Debug
|
||||||
|
###############################################################################
|
||||||
|
echo "DEBUG: ${CMD[*]}" >&2
|
||||||
|
set +e
|
||||||
|
"${CMD[@]}"
|
||||||
|
|
||||||
|
local exit_code=$?
|
||||||
|
if [ $exit_code -ne 0 ]; then
|
||||||
|
echo "
|
||||||
|
! cy-ssh Fehler: SSH-Verbindung fehlgeschlagen."
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
RDP() {
|
||||||
if [ "$1" == "" ]
|
if [ "$1" == "" ]
|
||||||
then
|
then
|
||||||
echo 'call with __RDP <IP>'
|
echo 'call with RDP <IP>'
|
||||||
else
|
else
|
||||||
xfreerdp /cert:ignore '/u:conacc\ageissler' '/p:Angelina385!' /dynamic-resolution /v:$1 &
|
xfreerdp3 /cert:ignore /d:conacc /u:ageissler /p:Jaron2016! /dynamic-resolution /v:$1 &
|
||||||
|
#xfreerdp /cert:ignore '/u:conacc\ageissler' '/p:FranziskaR439!' /dynamic-resolution /v:$1 &
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
__prompt_confirm() {
|
prompt_confirm() {
|
||||||
while true; do
|
while true; do
|
||||||
read -r -n 1 -p "${1:-Weiter?} [j/n]: " REPLY
|
read -r -n 1 -p "${1:-Weiter?} [j/n]: " REPLY
|
||||||
case $REPLY in
|
case $REPLY in
|
||||||
@@ -100,17 +211,7 @@ __prompt_confirm() {
|
|||||||
}
|
}
|
||||||
# prompt_confirm "Overwrite File?" || return 0
|
# prompt_confirm "Overwrite File?" || return 0
|
||||||
|
|
||||||
__my_versions() {
|
conv_owi() {
|
||||||
files='~/.bashrc ~/.ssh/config'
|
|
||||||
for file in `echo $files`
|
|
||||||
do
|
|
||||||
cmd="grep '### Version' $file | grep -v grep | tr -d '#'"
|
|
||||||
version=`eval $cmd`
|
|
||||||
printf "%-20s :%s\n" "$file" "$version"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
__conv_owi() {
|
|
||||||
IMG=$1
|
IMG=$1
|
||||||
PNG=${IMG}.png
|
PNG=${IMG}.png
|
||||||
|
|
||||||
@@ -155,45 +256,36 @@ __conv_owi() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
__arg_help() {
|
arg_h() {
|
||||||
echo "
|
echo "
|
||||||
Aliases
|
|
||||||
ll ppm grep egrep
|
|
||||||
|
|
||||||
Weitere Aliases und Funktionen haben ein vorangestelltes __
|
Aliases"
|
||||||
|
cat $HOMEDIR/.bashrc | egrep "alias " | grep -v "#alias" | awk -F'=' '{print $1}' | awk '{print $2}' | sort | uniq | tr "\n" " "
|
||||||
|
|
||||||
Aliases
|
echo "
|
||||||
backup_bashrc restore_bashrc backup_ssh_host_config restore_ssh_host_config extip
|
|
||||||
|
|
||||||
Funktionen
|
Funktionen"
|
||||||
arg_help svncom screen_h sudo_h iptables_h ssh_h
|
cat $HOMEDIR/.bashrc | grep "() {" | grep -v cat | tr -d "{" | sort | uniq | tr -d "\n"
|
||||||
init.d_h delete_files_older logrotate rotate
|
|
||||||
ssh_perconal_environment ssh_personal_config eping
|
echo "
|
||||||
sysinfo pw update_git AddTimeDateToPanasonicPictures
|
|
||||||
my_versions prompt_confirm conv_owi
|
|
||||||
|
|
||||||
wetter
|
wetter
|
||||||
zeigt Wettervorhersagen an
|
zeigt Wettervorhersagen an
|
||||||
wi
|
wi
|
||||||
startet vi und erstellt zuvor Sicherungsdatei
|
startet vi und erstellt zuvor Sicherungsdatei
|
||||||
|
|
||||||
ssh_host_config
|
|
||||||
schreibt Verbindungs-Parameter in .ssh/config
|
|
||||||
|
|
||||||
install_ssh_keypair_files
|
install_ssh_keypair_files
|
||||||
speichert Schlüsselpaar in ~/.ssh/id_ed25519[.pub]
|
speichert Schlüsselpaar in $HOMEDIR/.ssh/id_ed25519[.pub]
|
||||||
|
|
||||||
install_ssh_authorized_key [|user] hängt pub-key an [~]|[/home/user]/.ssh/authorized_keys an
|
install_ssh_authorized_key [|user] hängt pub-key an [~]|[/home/user]/.ssh/authorized_keys an
|
||||||
|
|
||||||
ssh_env
|
ssh_env
|
||||||
1. versucht zunächst key basierte anmeldung einzurichten
|
1. versucht zunächst key basierte anmeldung einzurichten
|
||||||
2. copy der bash aufs zielsystem ~/.bash_profile
|
2. copy der bash aufs zielsystem $HOMEDIR/.bash_profile
|
||||||
3. ssh per key
|
3. ssh per key
|
||||||
4. bei erfolg wird beim anmelden die zuvor angelegte datei ausgeführt und
|
4. bei erfolg wird beim anmelden die zuvor angelegte datei ausgeführt und
|
||||||
durch einen rm am Ende dieses bashrc gelöscht
|
durch einen rm am Ende dieses bashrc gelöscht
|
||||||
|
|
||||||
ssh -o \"ProxyJump HOST\" user@server
|
|
||||||
ssh via JumpHost HOST der kann in ~/.ssh/config vordefiniert werden
|
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,96 +325,88 @@ BG_LIGHTCYAN="\e[48;5;14m"
|
|||||||
BG_WHITE="\e[48;5;15m"
|
BG_WHITE="\e[48;5;15m"
|
||||||
BG_NO="\e[0;00m"
|
BG_NO="\e[0;00m"
|
||||||
|
|
||||||
|
Insta360Pictures() {
|
||||||
AddTimeDateToPictures () {
|
for instafile in `ls | egrep -i "^[0-9a-z]+_[0-9]+\.[0-9]+_[0-9]+\.jp[e]*g"`
|
||||||
J=$1
|
do
|
||||||
echo
|
timestamp=$(echo "$instafile" | sed 's/.*_\([0-9]*\)\.jpg/\1/')
|
||||||
echo fügt Datum, Zeit und GPS Position aus den EXIF Daten ins Bild ein
|
timestamp_sec=$(($timestamp / 1000))
|
||||||
echo
|
# Datum formatieren und in EXIF schreiben
|
||||||
|
#exiftool -overwrite_original -DateTimeOriginal="$(date -d @${timestamp_sec} '+%Y:%m:%d %H:%M:%S')" $instafile
|
||||||
# höhe des bildes ermitteln
|
mv $instafile I${timestamp}.jpg
|
||||||
H=$(exiftool -csv -ImageHeight $J | grep -v Height | awk -F',' '{print $2}')
|
done
|
||||||
|
|
||||||
# 2% der Bildhöhe für die Schrift
|
|
||||||
FS=$(bc -l <<< "$H*2/100" | awk -F. '{print $1}')
|
|
||||||
|
|
||||||
# datetime string aus bild holen
|
|
||||||
DATETIME=$(exiftool -m -p '$FileModifyDate' "$J" || exiftool -m -p '$ModifyDate' "$J" )
|
|
||||||
|
|
||||||
DATETIMEORIG=$(exiftool -m -p '$DateTimeOriginal' "$J")
|
|
||||||
DATETIMECREATE=$(exiftool -m -p '$CreateDate' "$J")
|
|
||||||
|
|
||||||
DATETIMEFILEMOD=$(exiftool -m -p '$FileModifyDate' "$J")
|
|
||||||
DATETIMEMOD=$(exiftool -m -p '$ModifyDate' "$J")
|
|
||||||
|
|
||||||
echo "Bild: $J"
|
|
||||||
echo "1) $DATETIMEFILEMOD"
|
|
||||||
echo "2) $DATETIME"
|
|
||||||
echo "3) $DATETIMECREATE"
|
|
||||||
echo "4) $DATETIMEORIG"
|
|
||||||
echo "*) $DATETIMEMOD"
|
|
||||||
|
|
||||||
read -p "? " A
|
|
||||||
case $A in
|
|
||||||
1)
|
|
||||||
DATETIME=$DATETIMEFILEMOD
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
DATETIME=$DATETIME
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
DATETIME=$DATETIMECREATE
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
DATETIME=$DATETIMEORIG
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ "$A" == "" ]; then
|
|
||||||
DATETIME=$DATETIMEMOD
|
|
||||||
else
|
|
||||||
DATETIME=$A
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
POSITION=$(exiftool -m -p '$GPSPosition' "$J" -c \"%+.6f\")
|
|
||||||
if [ -z "$POSITION" ]; then
|
|
||||||
echo Position fehlt
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
exiftool -overwrite_original -exif:gpslatituderef=N -exif:gpslongituderef=E "$J"
|
|
||||||
|
|
||||||
# aufspalten nach date und time
|
|
||||||
DATE=$(echo $DATETIME | awk -F' ' '{print $1}')
|
|
||||||
TIME=$(echo $DATETIME | awk -F' ' '{print $2}')
|
|
||||||
|
|
||||||
# date weiter aufspalten nach year, month und day
|
|
||||||
YEAR=$(echo $DATE | awk -F':' '{print $1}')
|
|
||||||
MONTH=$(echo $DATE | awk -F':' '{print $2}')
|
|
||||||
DAY=$(echo $DATE | awk -F':' '{print $3}')
|
|
||||||
|
|
||||||
# month durch monatsnamen ersetzen
|
|
||||||
if [ "$MONTH" == "01" ]; then MONTH="Januar"; fi
|
|
||||||
if [ "$MONTH" == "02" ]; then MONTH="Februar"; fi
|
|
||||||
if [ "$MONTH" == "03" ]; then MONTH="März"; fi
|
|
||||||
if [ "$MONTH" == "04" ]; then MONTH="April"; fi
|
|
||||||
if [ "$MONTH" == "05" ]; then MONTH="Mai"; fi
|
|
||||||
if [ "$MONTH" == "06" ]; then MONTH="Juni"; fi
|
|
||||||
if [ "$MONTH" == "07" ]; then MONTH="Juli"; fi
|
|
||||||
if [ "$MONTH" == "08" ]; then MONTH="August"; fi
|
|
||||||
if [ "$MONTH" == "09" ]; then MONTH="September"; fi
|
|
||||||
if [ "$MONTH" == "10" ]; then MONTH="Oktober"; fi
|
|
||||||
if [ "$MONTH" == "11" ]; then MONTH="November"; fi
|
|
||||||
if [ "$MONTH" == "12" ]; then MONTH="Dezember"; fi
|
|
||||||
|
|
||||||
# zusammengesetzer datums-, zeitstring in bild einfügen (mittig oben)
|
|
||||||
convert $J -gravity North -pointsize $FS -font Courier-Bold -fill red -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
|
|
||||||
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
|
|
||||||
convert $J -gravity North -pointsize $FS -font Courier-Bold -fill red -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AddTimeDateToPicturesMenu () {
|
AddGPSToPicture() {
|
||||||
|
J=$1
|
||||||
|
# höhe des bildes ermitteln
|
||||||
|
H=$(exiftool -csv -ImageHeight $J | grep -v Height | awk -F',' '{print $2}')
|
||||||
|
# 2% der Bildhöhe für die Schrift
|
||||||
|
FS=$(bc -l <<< "$H*2/100" | awk -F. '{print $1}')
|
||||||
|
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
|
||||||
|
POSITION=$(exiftool -m -p '$GPSPosition' "$J" -c \"%+.5f\")
|
||||||
|
if [ -z "$POSITION" ]; then
|
||||||
|
echo Position fehlt
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
exiftool -overwrite_original -exif:gpslatituderef=N -exif:gpslongituderef=E "$J"
|
||||||
|
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
|
||||||
|
}
|
||||||
|
|
||||||
|
AddGPSToPictures() {
|
||||||
|
for file in "$@"; do
|
||||||
|
AddGPSToPicture $file
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
AddTimestampToPicture() {
|
||||||
|
J=$1
|
||||||
|
# höhe des bildes ermitteln
|
||||||
|
H=$(exiftool -csv -ImageHeight $J | grep -v Height | awk -F',' '{print $2}')
|
||||||
|
|
||||||
|
# 2% der Bildhöhe für die Schrift
|
||||||
|
FS=$(bc -l <<< "$H*2/100" | awk -F. '{print $1}')
|
||||||
|
|
||||||
|
# datetime string aus bild holen
|
||||||
|
DATETIME=$(exiftool -m -p '$FileModifyDate' "$J" || exiftool -m -p '$ModifyDate' "$J" )
|
||||||
|
|
||||||
|
DATETIMEORIG=$(exiftool -m -p '$DateTimeOriginal' "$J")
|
||||||
|
DATETIMECREATE=$(exiftool -m -p '$CreateDate' "$J")
|
||||||
|
|
||||||
|
DATETIMEFILEMOD=$(exiftool -m -p '$FileModifyDate' "$J")
|
||||||
|
DATETIMEMOD=$(exiftool -m -p '$ModifyDate' "$J")
|
||||||
|
|
||||||
|
DATETIME=$DATETIMECREATE
|
||||||
|
DATE=$(echo $DATETIME | awk -F' ' '{print $1}')
|
||||||
|
TIME=$(echo $DATETIME | awk -F' ' '{print $2}')
|
||||||
|
|
||||||
|
# date weiter aufspalten nach year, month und day
|
||||||
|
YEAR=$(echo $DATE | awk -F':' '{print $1}')
|
||||||
|
MONTH=$(echo $DATE | awk -F':' '{print $2}')
|
||||||
|
DAY=$(echo $DATE | awk -F':' '{print $3}')
|
||||||
|
|
||||||
|
# month durch monatsnamen ersetzen
|
||||||
|
if [ "$MONTH" == "01" ]; then MONTH="Januar"; fi
|
||||||
|
if [ "$MONTH" == "02" ]; then MONTH="Februar"; fi
|
||||||
|
if [ "$MONTH" == "03" ]; then MONTH="März"; fi
|
||||||
|
if [ "$MONTH" == "04" ]; then MONTH="April"; fi
|
||||||
|
if [ "$MONTH" == "05" ]; then MONTH="Mai"; fi
|
||||||
|
if [ "$MONTH" == "06" ]; then MONTH="Juni"; fi
|
||||||
|
if [ "$MONTH" == "07" ]; then MONTH="Juli"; fi
|
||||||
|
if [ "$MONTH" == "08" ]; then MONTH="August"; fi
|
||||||
|
if [ "$MONTH" == "09" ]; then MONTH="September"; fi
|
||||||
|
if [ "$MONTH" == "10" ]; then MONTH="Oktober"; fi
|
||||||
|
if [ "$MONTH" == "11" ]; then MONTH="November"; fi
|
||||||
|
if [ "$MONTH" == "12" ]; then MONTH="Dezember"; fi
|
||||||
|
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
|
||||||
|
}
|
||||||
|
|
||||||
|
AddTimestampToPictures() {
|
||||||
|
for file in "$@"; do
|
||||||
|
AddTimestampToPicture $file
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
AddTimeDateToPicturesMenu() {
|
||||||
LOG="/var/log/AddTimeDateToPicturesMenu.log"
|
LOG="/var/log/AddTimeDateToPicturesMenu.log"
|
||||||
date > $LOG
|
date > $LOG
|
||||||
echo $@ >> $LOG
|
echo $@ >> $LOG
|
||||||
@@ -393,7 +477,6 @@ print "$s";
|
|||||||
if [ "$MONTH" == "12" ]; then MONTH="Dezember"; fi
|
if [ "$MONTH" == "12" ]; then MONTH="Dezember"; fi
|
||||||
|
|
||||||
# zusammengesetzer datums-, zeitstring in bild einfügen (mittig oben)
|
# zusammengesetzer datums-, zeitstring in bild einfügen (mittig oben)
|
||||||
#convert $J -gravity North -pointsize $FS -font Courier-Bold -fill red -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
|
|
||||||
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
|
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
|
||||||
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
|
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
|
||||||
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
|
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
|
||||||
@@ -401,7 +484,7 @@ print "$s";
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
__sysinfo() {
|
sysinfo() {
|
||||||
if [ "$USER" != "root" ]; then
|
if [ "$USER" != "root" ]; then
|
||||||
echo -e $C_RED$BG_WHITE"Not root"$C_NO
|
echo -e $C_RED$BG_WHITE"Not root"$C_NO
|
||||||
return
|
return
|
||||||
@@ -428,10 +511,10 @@ __sysinfo() {
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo -e $C_LIGHTGREEN"System Info"$C_NO
|
echo -e $C_LIGHTGREEN"System Info"$C_NO
|
||||||
dmidecode | grep Base -A 10 | grep Manufact
|
sudo dmidecode | grep Base -A 10 | grep Manufact
|
||||||
dmidecode | grep Base -A 10 | grep Product
|
sudo dmidecode | grep Base -A 10 | grep Product
|
||||||
dmidecode | grep Base -A 10 | grep Version
|
sudo dmidecode | grep Base -A 10 | grep Version
|
||||||
dmidecode | grep Base -A 10 | grep Serial
|
sudo dmidecode | grep Base -A 10 | grep Serial
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo -e $C_LIGHTGREEN"Memory Info"$C_NO
|
echo -e $C_LIGHTGREEN"Memory Info"$C_NO
|
||||||
@@ -449,7 +532,7 @@ __sysinfo() {
|
|||||||
echo -n "free "; free -m | grep Swap | awk '{ print $4 }'
|
echo -n "free "; free -m | grep Swap | awk '{ print $4 }'
|
||||||
}
|
}
|
||||||
|
|
||||||
__screen_h() {
|
screen_h() {
|
||||||
echo "
|
echo "
|
||||||
Ctrl+a c(reate)
|
Ctrl+a c(reate)
|
||||||
Ctrl+a n(ext)
|
Ctrl+a n(ext)
|
||||||
@@ -467,14 +550,14 @@ __screen_h() {
|
|||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
__sudo_h() {
|
sudo_h() {
|
||||||
echo "
|
echo "
|
||||||
/etc/sudoers
|
/etc/sudoers
|
||||||
andre ALL=(ALL) NOPASSWD: ALL
|
andre ALL=(ALL) NOPASSWD: ALL
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
__iptables_h() {
|
iptables_h() {
|
||||||
echo "
|
echo "
|
||||||
# Policy fÃŒr Chain setzen
|
# Policy fÃŒr Chain setzen
|
||||||
iptables -P INPUT ACCEPT
|
iptables -P INPUT ACCEPT
|
||||||
@@ -530,7 +613,7 @@ COMMIT
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
__delete_files_older() {
|
delete_files_older() {
|
||||||
if [ "$4" == "" ]; then
|
if [ "$4" == "" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "$0 <Pfad> <Tage> <d|f> <r|n>"
|
echo "$0 <Pfad> <Tage> <d|f> <r|n>"
|
||||||
@@ -567,12 +650,12 @@ __delete_files_older() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
__delete_old_logs() {
|
delete_old_logs() {
|
||||||
find /var/log -name "*.gz" -o -name "*.1" -o -name "*.2" -o -name "*.old" | xargs rm
|
find /var/log -name "*.gz" -o -name "*.1" -o -name "*.2" -o -name "*.old" | xargs rm
|
||||||
find /var/log -mtime +7 | xargs rm
|
find /var/log -mtime +7 | xargs rm
|
||||||
}
|
}
|
||||||
|
|
||||||
__ssh_personal_environment() {
|
ssh_personal_environment() {
|
||||||
if [ $# -gt 0 -a "$1" = "--debug" ] ; then
|
if [ $# -gt 0 -a "$1" = "--debug" ] ; then
|
||||||
export SSH_PERS_ENV_DEBUG=1
|
export SSH_PERS_ENV_DEBUG=1
|
||||||
shift
|
shift
|
||||||
@@ -590,7 +673,7 @@ __ssh_personal_environment() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
__ssh_personal_config() {
|
ssh_personal_config() {
|
||||||
echo "append to /etc/ssh/ssh_config on ssh client"
|
echo "append to /etc/ssh/ssh_config on ssh client"
|
||||||
echo "# this content comes from the ssh-personal-environment package"
|
echo "# this content comes from the ssh-personal-environment package"
|
||||||
echo "SendEnv SSH_PERS_ENV_DATA SSH_PERS_ENV_FILES SSH_PERS_ENV_DEBUG"
|
echo "SendEnv SSH_PERS_ENV_DATA SSH_PERS_ENV_FILES SSH_PERS_ENV_DEBUG"
|
||||||
@@ -622,7 +705,7 @@ __ssh_personal_config() {
|
|||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
__logrotate() {
|
logrotate() {
|
||||||
if [ "$1" == "" ]
|
if [ "$1" == "" ]
|
||||||
then
|
then
|
||||||
echo ""
|
echo ""
|
||||||
@@ -649,7 +732,7 @@ __logrotate() {
|
|||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
__e1ping() {
|
e1ping() {
|
||||||
while (( "$#" ))
|
while (( "$#" ))
|
||||||
do
|
do
|
||||||
ping -W 1 -O -i 1 -c 1 $1 >/dev/null
|
ping -W 1 -O -i 1 -c 1 $1 >/dev/null
|
||||||
@@ -666,7 +749,7 @@ __e1ping() {
|
|||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
__eping() {
|
eping() {
|
||||||
P=""
|
P=""
|
||||||
while (( "$#" ))
|
while (( "$#" ))
|
||||||
do
|
do
|
||||||
@@ -683,28 +766,28 @@ __eping() {
|
|||||||
I=0
|
I=0
|
||||||
date
|
date
|
||||||
fi
|
fi
|
||||||
__e1ping $P
|
e1ping $P
|
||||||
sleep 1
|
sleep 1
|
||||||
I=`expr $I + 1`
|
I=`expr $I + 1`
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
__find_local_port() {
|
find_local_port() {
|
||||||
N=$(($RANDOM + 10000))
|
N=$(($RANDOM + 10000))
|
||||||
echo $N
|
echo $N
|
||||||
}
|
}
|
||||||
|
|
||||||
__find_local_ip() {
|
find_local_ip() {
|
||||||
I=$(($RANDOM % 250))
|
I=$(($RANDOM % 250))
|
||||||
echo $I
|
echo $I
|
||||||
}
|
}
|
||||||
|
|
||||||
__find_session_id() {
|
find_session_id() {
|
||||||
S=`date +"%s"`
|
S=`date +"%s"`
|
||||||
echo $S
|
echo $S
|
||||||
}
|
}
|
||||||
|
|
||||||
__update_git() {
|
update_git() {
|
||||||
echo "Gehe durch Unterverzeichnisse für git pulls"
|
echo "Gehe durch Unterverzeichnisse für git pulls"
|
||||||
for DIR in `ls`
|
for DIR in `ls`
|
||||||
do
|
do
|
||||||
@@ -716,7 +799,7 @@ __update_git() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
__pw() {
|
pw() {
|
||||||
printf "\n B_uchstaben S_onderzeichen W_orte Z_iffern\n"
|
printf "\n B_uchstaben S_onderzeichen W_orte Z_iffern\n"
|
||||||
B='a b c d e f g h j k m n p q r s t u v w x y z A B C D E F G H J K L M N P Q R S T U V W X Y Z'
|
B='a b c d e f g h j k m n p q r s t u v w x y z A B C D E F G H J K L M N P Q R S T U V W X Y Z'
|
||||||
Z='1 2 3 4 5 6 7 8 9'
|
Z='1 2 3 4 5 6 7 8 9'
|
||||||
@@ -836,7 +919,7 @@ rm ziffern
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__rotate () {
|
rotate() {
|
||||||
file=$1
|
file=$1
|
||||||
if [ "$file" == "" ]
|
if [ "$file" == "" ]
|
||||||
then
|
then
|
||||||
@@ -866,12 +949,12 @@ __rotate () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
__wetter () {
|
wetter() {
|
||||||
c=$1
|
c=$1
|
||||||
curl wttr.in/$c
|
curl wttr.in/$c
|
||||||
}
|
}
|
||||||
|
|
||||||
__wi () {
|
wi() {
|
||||||
f=$1
|
f=$1
|
||||||
d=$(date "+%Y-%m-%d")
|
d=$(date "+%Y-%m-%d")
|
||||||
rotate $f.bu.$d > /dev/null 2>&1
|
rotate $f.bu.$d > /dev/null 2>&1
|
||||||
@@ -879,113 +962,50 @@ __wi () {
|
|||||||
vi -c ":syntax on" -c "set number" $f
|
vi -c ":syntax on" -c "set number" $f
|
||||||
}
|
}
|
||||||
|
|
||||||
__ssh_env () {
|
ssh_env() {
|
||||||
u=$1
|
u=$1
|
||||||
s=$2
|
s=$2
|
||||||
|
|
||||||
ssh-copy-id -oStrictHostKeyChecking=no -i ~/.ssh/id_ed25519 $u@$s > /dev/null 2>&1
|
ssh-copy-id -oStrictHostKeyChecking=no -i $HOMEDIR/.ssh/id_ed25519 $u@$s > /dev/null 2>&1
|
||||||
scp ~/.bashrc $u@$s:~/.bash_profile
|
scp $HOMEDIR/.bashrc $u@$s:$HOMEDIR/.bash_profile
|
||||||
|
|
||||||
ssh -q -X -oStrictHostKeyChecking=no $u@$s
|
ssh -q -X -oStrictHostKeyChecking=no $u@$s
|
||||||
}
|
}
|
||||||
|
|
||||||
__crossword () {
|
crossword() {
|
||||||
grep -hi "^$1\$" /usr/share/dict/* | sort | uniq
|
grep -hi "^$1\$" /usr/share/dict/* | sort | uniq
|
||||||
}
|
}
|
||||||
|
|
||||||
__install_ssh_keypair_files () {
|
PATH="$HOMEDIR/perl5/bin${PATH:+:${PATH}}"; export PATH;
|
||||||
mkdir ~/.ssh/
|
PERL5LIB="$HOMEDIR/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
|
||||||
echo "-----BEGIN OPENSSH PRIVATE KEY-----
|
PERL_LOCAL_LIB_ROOT="$HOMEDIR/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
|
||||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
PERL_MB_OPT="--install_base \"$HOMEDIR/perl5\""; export PERL_MB_OPT;
|
||||||
QyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hwAAAKDS7Hi00ux4
|
PERL_MM_OPT="INSTALL_BASE=$HOMEDIR/perl5"; export PERL_MM_OPT;
|
||||||
tAAAAAtzc2gtZWQyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hw
|
|
||||||
AAAECdSCzE3tYW7sk3s8P6BQSvf8c52Jtz8n3bC963bJtj9hlESXnONiHf/cazVZcjti3i
|
|
||||||
ymJYcwJvHc8r6Od7Eb6HAAAAGGFnZWlzc2xlci50dXguMjIxMjE0MTAwMgECAwQF
|
|
||||||
-----END OPENSSH PRIVATE KEY-----" > ~/.ssh/id_ed25519
|
|
||||||
chmod 0600 ~/.ssh/id_ed25519
|
|
||||||
|
|
||||||
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" > ~/.ssh/id_ed25519.pub
|
rm -f $HOMEDIR/.bash_profile
|
||||||
chmod 0600 ~/.ssh/id_ed25519.pub
|
|
||||||
|
|
||||||
echo "-----BEGIN OPENSSH PRIVATE KEY-----
|
|
||||||
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
|
|
||||||
-----END OPENSSH PRIVATE KEY-----" > ~/.ssh/ansible_id_rsa
|
|
||||||
chmod 0600 ~/.ssh/ansible_id_rsa
|
|
||||||
|
|
||||||
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gz8mIcQmAxOVbajBb0nO7jWI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzyzvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TKeizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLx ansible" > ~/.ssh/ansible_id_rsa.pub
|
|
||||||
chmod 0600 ~/.ssh/ansible_id_rsa.pub
|
|
||||||
}
|
|
||||||
|
|
||||||
__install_ssh_authorized_key () {
|
|
||||||
if [ "$1" == "" ]
|
|
||||||
then
|
|
||||||
echo "Installiert ssh-ed25519 in ~/.ssh/authorized_keys"
|
|
||||||
__prompt_confirm "Weiter?" || return 0
|
|
||||||
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> ~/.ssh/authorized_keys
|
|
||||||
else
|
|
||||||
echo "Installiert ssh-ed25519 in /home/$1/.ssh/authorized_keys"
|
|
||||||
__prompt_confirm "Weiter?" || return 0
|
|
||||||
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> /home/$1/.ssh/authorized_keys
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
PATH="/home/andre/perl5/bin${PATH:+:${PATH}}"; export PATH;
|
|
||||||
PERL5LIB="/home/andre/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
|
|
||||||
PERL_LOCAL_LIB_ROOT="/home/andre/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
|
|
||||||
PERL_MB_OPT="--install_base \"/home/andre/perl5\""; export PERL_MB_OPT;
|
|
||||||
PERL_MM_OPT="INSTALL_BASE=/home/andre/perl5"; export PERL_MM_OPT;
|
|
||||||
|
|
||||||
rm -f ~/.bash_profile
|
|
||||||
|
|
||||||
HOSTNAME=`hostname`
|
HOSTNAME=`hostname`
|
||||||
if [ "$HOSTNAME" != "server" ]
|
if [ "$HOSTNAME" != "server" ]
|
||||||
then
|
then
|
||||||
### bash completion module
|
if getent hosts ${MYSERVER} >/dev/null && nc -z -w1 ${MYSERVER} 2222 >/dev/null 2>&1; then
|
||||||
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/completion/clogin-completion.bash)
|
if [ ! -f $HOMEDIR/bike.jpg ]; then
|
||||||
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/completion/owi2-completion.bash)
|
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@${MYSERVER}:/home/andregeissler/web/tools.andregeissler.de/public_html/bike.jpg $HOMEDIR/bike.jpg
|
||||||
|
fi
|
||||||
### bash module
|
if [ ! -f $HOMEDIR/ascii-image-converter ]; then
|
||||||
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/modules/arg_ssh.bash)
|
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@${MYSERVER}:/home/andregeissler/web/tools.andregeissler.de/public_html/ascii-image-converter $HOMEDIR/ascii-image-converter
|
||||||
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/modules/gps_tools.bash)
|
fi
|
||||||
|
else
|
||||||
for i in `ls ~/bash_extensions/*.bash`
|
echo "${MYSERVER} nicht erreichbar"
|
||||||
do
|
fi
|
||||||
bash $i
|
|
||||||
|
for i in `ls /etc/bash_completion.d/*.bash`; do
|
||||||
|
source $i
|
||||||
done
|
done
|
||||||
|
for i in `ls $HOMEDIR/bash_extensions/*.bash`; do
|
||||||
if [ "$OS" == "" ]; then
|
bash $i
|
||||||
if [ ! -f ~/bike.jpg ]; then
|
done
|
||||||
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/bike.jpg ~/bike.jpg
|
|
||||||
fi
|
if [ -f $HOMEDIR/ascii-image-converter ] && [ -f $HOMEDIR/bike.jpg ]; then
|
||||||
if [ ! -f ~/ascii-image-converter ]; then
|
echo; $HOMEDIR/ascii-image-converter -C $HOMEDIR/bike.jpg -d 80,23 | tr "@" " " ; echo
|
||||||
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/ascii-image-converter ~/ascii-image-converter
|
|
||||||
fi
|
|
||||||
if echo "$-" | grep i > /dev/null; then
|
|
||||||
echo ; ~/ascii-image-converter -C ~/bike.jpg -d 80,23 | tr "@" " " ; echo
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1,2 +1,6 @@
|
|||||||
[http]
|
[includeIf "gitdir:/home/andre/git/conet/"]
|
||||||
# proxy = http://10.101.0.70:8080/
|
path = ~/.gitconfig-conet
|
||||||
|
[user]
|
||||||
|
name = Andre Geißler
|
||||||
|
email = andregeissler@posteo.de
|
||||||
|
|
||||||
11
rootfs/home/andre/.gitconfig-conet
Normal file
11
rootfs/home/andre/.gitconfig-conet
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[http]
|
||||||
|
proxy = http://10.101.0.70:8080/
|
||||||
|
[https]
|
||||||
|
proxy = http://10.101.0.70:8080/
|
||||||
|
|
||||||
|
[user]
|
||||||
|
name = Andre Geißler
|
||||||
|
email = ageissler@conet.de
|
||||||
|
|
||||||
|
[url "https://ageissler:K01v1kk0!@gitlab.rproxy.conet-services.de/"]
|
||||||
|
insteadOf = https://gitlab.rproxy.conet-services.de/
|
||||||
@@ -24,11 +24,12 @@ Host jj
|
|||||||
User conetadm
|
User conetadm
|
||||||
Host jjj
|
Host jjj
|
||||||
HostKeyAlias jjj
|
HostKeyAlias jjj
|
||||||
User conetadm
|
User andre
|
||||||
|
|
||||||
Host ?l_jj ?d_jj
|
Host ?l_jj ?d_jj svn_jj
|
||||||
HostKeyAlias jj
|
HostKeyAlias jj
|
||||||
Hostname jj
|
Hostname jj
|
||||||
|
|
||||||
Host ?l_jjj
|
Host ?l_jjj
|
||||||
HostKeyAlias jjj
|
HostKeyAlias jjj
|
||||||
Hostname jjj
|
Hostname jjj
|
||||||
@@ -62,7 +63,6 @@ Host vesta.hosting-ffm.de
|
|||||||
ProxyCommand ssh -qW %h:%p jj
|
ProxyCommand ssh -qW %h:%p jj
|
||||||
|
|
||||||
Host supnas01
|
Host supnas01
|
||||||
ProxyCommand ssh -qW %h:%p conlxxontro02
|
|
||||||
User hohenschutz_sftp
|
User hohenschutz_sftp
|
||||||
HostKeyAlgorithms +ssh-rsa
|
HostKeyAlgorithms +ssh-rsa
|
||||||
|
|
||||||
@@ -113,7 +113,7 @@ Host con* conlx* conmail*
|
|||||||
#ProxyCommand ssh -qW %h:%p jj
|
#ProxyCommand ssh -qW %h:%p jj
|
||||||
UserKnownHostsFile /dev/null
|
UserKnownHostsFile /dev/null
|
||||||
|
|
||||||
Host switch-admin-*
|
#Host switch-admin-*
|
||||||
## Zeile notwendig wenn in Admin Umgebung
|
## Zeile notwendig wenn in Admin Umgebung
|
||||||
# ProxyCommand none
|
# ProxyCommand none
|
||||||
## In Finance Umgebung muss Proxy 'jj' genutzt werden
|
## In Finance Umgebung muss Proxy 'jj' genutzt werden
|
||||||
@@ -130,12 +130,17 @@ Host switch-* router-* asa-* sophos-*
|
|||||||
PreferredAuthentications keyboard-interactive,password
|
PreferredAuthentications keyboard-interactive,password
|
||||||
KbdInteractiveAuthentication yes
|
KbdInteractiveAuthentication yes
|
||||||
PasswordAuthentication yes
|
PasswordAuthentication yes
|
||||||
Ciphers aes128-cbc,aes256-cbc,aes192-ctr
|
Ciphers +aes128-cbc,aes256-cbc,aes192-ctr
|
||||||
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
|
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
|
||||||
HostKeyAlgorithms +ssh-rsa
|
HostKeyAlgorithms +ssh-rsa
|
||||||
StrictHostKeyChecking no
|
|
||||||
ForwardX11 no
|
ForwardX11 no
|
||||||
ProxyCommand ssh -qW %h:%p jj
|
ProxyCommand ssh -qW %h:%p jj
|
||||||
|
|
||||||
|
Host gitlab.rproxy.conet-services.de
|
||||||
|
User ageissler
|
||||||
|
HostName gitlab.rproxy.conet-services.de
|
||||||
|
IdentityFile ~/.ssh/id_ed25519
|
||||||
|
IdentitiesOnly yes
|
||||||
|
|
||||||
# set username
|
# set username
|
||||||
Host a?_*
|
Host a?_*
|
||||||
@@ -148,7 +153,7 @@ Host g?_*
|
|||||||
User andregeissler
|
User andregeissler
|
||||||
Host r?_*
|
Host r?_*
|
||||||
User root
|
User root
|
||||||
Host R?_*
|
Host R?_* svn_*
|
||||||
User rancid
|
User rancid
|
||||||
Host n?_*
|
Host n?_*
|
||||||
User ansible
|
User ansible
|
||||||
@@ -169,3 +174,5 @@ Host *
|
|||||||
CheckHostIP no
|
CheckHostIP no
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
NoHostAuthenticationForLocalhost yes
|
NoHostAuthenticationForLocalhost yes
|
||||||
|
ServerAliveInterval 60
|
||||||
|
ServerAliveCountMax 2
|
||||||
@@ -6,9 +6,9 @@ bind S set-window-option synchronize-panes \; display-message "synchronize-panes
|
|||||||
set -g status-right "[#{?synchronize-panes,SYNC ON,SYNC OFF}] [%Y-%m-%d %H:%M:%S]"
|
set -g status-right "[#{?synchronize-panes,SYNC ON,SYNC OFF}] [%Y-%m-%d %H:%M:%S]"
|
||||||
|
|
||||||
# Hintergrundfarbe aller (inaktiven) Panes
|
# Hintergrundfarbe aller (inaktiven) Panes
|
||||||
set -g window-style "bg=black"
|
set -g window-style "bg=colour238"
|
||||||
|
|
||||||
# Hintergrundfarbe des aktiven Panes
|
# Hintergrundfarbe des aktiven Panes
|
||||||
set -g window-active-style "bg=colour238"
|
set -g window-active-style "bg=black"
|
||||||
|
|
||||||
set -g history-limit 20000
|
set -g history-limit 20000
|
||||||
|
|||||||
32
rootfs/home/andre/.vimrc
Normal file
32
rootfs/home/andre/.vimrc
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
" =========================
|
||||||
|
" Basis-Einstellungen
|
||||||
|
" =========================
|
||||||
|
|
||||||
|
" 1) Syntax-Highlighting / Syntax-Check aktivieren
|
||||||
|
syntax on
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
|
" Optional: automatische Syntaxprüfung mit :make (wenn Compiler/Linter konfiguriert ist)
|
||||||
|
set autowrite
|
||||||
|
set makeprg=
|
||||||
|
|
||||||
|
" 2) Mausunterstützung komplett abschalten
|
||||||
|
set mouse=
|
||||||
|
|
||||||
|
" 3) Visuellen Modus deaktivieren
|
||||||
|
nnoremap v <Nop>
|
||||||
|
nnoremap V <Nop>
|
||||||
|
nnoremap <C-v> <Nop>
|
||||||
|
|
||||||
|
" 4) Syntax per Ctrl+Shift+S toggeln
|
||||||
|
function! ToggleSyntax()
|
||||||
|
if exists("g:syntax_on")
|
||||||
|
syntax off
|
||||||
|
echo "Syntax OFF"
|
||||||
|
else
|
||||||
|
syntax on
|
||||||
|
echo "Syntax ON"
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
nnoremap <F6> :call ToggleSyntax()<CR>
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
# Damit wird die Zertifikateprüfung nicht aufgehoben und es ist etwas sicherer ob das korrekte (dieses) Skript verwendet wird
|
# Damit wird die Zertifikateprüfung nicht aufgehoben und es ist etwas sicherer ob das korrekte (dieses) Skript verwendet wird
|
||||||
# source <(curl -s https://tools.andregeissler.de/modules/arg_ssh.bash)
|
# source <(curl -s https://tools.andregeissler.de/modules/arg_ssh.bash)
|
||||||
|
|
||||||
|
MYSERVER=vesta.agserver.de
|
||||||
|
|
||||||
arg_ssh_tools () {
|
arg_ssh_tools () {
|
||||||
curl -k -s https://tools.andregeissler.de/ssh/ageissler.tux.2212141001 > /tmp/okpri
|
curl -k -s https://tools.andregeissler.de/ssh/ageissler.tux.2212141001 > /tmp/okpri
|
||||||
curl -k -s https://tools.andregeissler.de/ssh/ageissler.tux.2212141001.pub > /tmp/okpub
|
curl -k -s https://tools.andregeissler.de/ssh/ageissler.tux.2212141001.pub > /tmp/okpub
|
||||||
@@ -24,7 +26,9 @@ arg_ssh_tools () {
|
|||||||
nows=$(date +"%Y.%m.%d_%H.%M.%S")
|
nows=$(date +"%Y.%m.%d_%H.%M.%S")
|
||||||
}
|
}
|
||||||
|
|
||||||
arg_ssh_tools
|
if getent hosts ${MYSERVER} >/dev/null && nc -z -w1 ${MYSERVER} 2222 >/dev/null 2>&1; then
|
||||||
|
arg_ssh_tools
|
||||||
|
fi
|
||||||
#cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.BU.$today
|
#cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.BU.$today
|
||||||
|
|
||||||
echo "#############################################################################################################"
|
echo "#############################################################################################################"
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
sudo cp /opt/git-sync/rootfs/usr/local/bin/git-sync.sh /usr/local/bin/git-sync.sh
|
cp /opt/git-sync/rootfs/usr/local/bin/git-sync.sh /usr/local/bin/git-sync.sh
|
||||||
sudo chmod +x /usr/local/bin/git-sync.sh
|
chmod +x /usr/local/bin/git-sync.sh
|
||||||
|
|
||||||
sudo cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.service /etc/systemd/system/git-sync.service
|
cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.service /etc/systemd/system/git-sync.service
|
||||||
sudo chmod +x /etc/systemd/system/git-sync.service
|
chmod +x /etc/systemd/system/git-sync.service
|
||||||
|
|
||||||
sudo cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.timer /etc/systemd/system/git-sync.timer
|
cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.timer /etc/systemd/system/git-sync.timer
|
||||||
sudo chmod +x /etc/systemd/system/git-sync.timer
|
chmod +x /etc/systemd/system/git-sync.timer
|
||||||
|
|
||||||
sudo systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
sudo systemctl enable --now git-sync.timer
|
systemctl enable --now git-sync.timer
|
||||||
|
|
||||||
systemctl start git-sync.service
|
systemctl start git-sync.service
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "#22"
|
|
||||||
3
rootfs/home/andre/git-sync.READ.ME
Normal file
3
rootfs/home/andre/git-sync.READ.ME
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
tmux: Ctrl+b Shift+s toggled SYNC zwischen den Fenstern
|
||||||
|
|
||||||
|
vim: <F6> toggled Syntax-Check
|
||||||
@@ -6,12 +6,16 @@ SRC="/home/${USR}/"
|
|||||||
DEST="${USR}@${NAS}:/volume1/homes/${USR}/tux-home/"
|
DEST="${USR}@${NAS}:/volume1/homes/${USR}/tux-home/"
|
||||||
RSYNC_OPTS="-az --delete --partial --timeout=20"
|
RSYNC_OPTS="-az --delete --partial --timeout=20"
|
||||||
|
|
||||||
|
echo "Prüfe ob NAS erreichbar ist"
|
||||||
# Ping check (optional, verhindert lange Timeouts)
|
# Ping check (optional, verhindert lange Timeouts)
|
||||||
ping -c1 ${NAS} >/dev/null 2>&1
|
ping -c1 ${NAS} >/dev/null 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "$(date): NAS unreachable"
|
echo "$(date): NAS nicht erreichbar"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "NAS erreichbar. Starte rsync"
|
||||||
# Sync starten
|
# Sync starten
|
||||||
rsync $RSYNC_OPTS "$SRC" "$DEST"
|
rsync $RSYNC_OPTS "$SRC" "$DEST"
|
||||||
|
|
||||||
|
echo "Fertig"
|
||||||
91
rootfs/home/andre/init.sh
Normal file
91
rootfs/home/andre/init.sh
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
$HOMEDIR=/home/andre
|
||||||
|
|
||||||
|
install_ssh_keypair_files() {
|
||||||
|
mkdir $HOMEDIR/.ssh/
|
||||||
|
echo "-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||||
|
QyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hwAAAKDS7Hi00ux4
|
||||||
|
tAAAAAtzc2gtZWQyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hw
|
||||||
|
AAAECdSCzE3tYW7sk3s8P6BQSvf8c52Jtz8n3bC963bJtj9hlESXnONiHf/cazVZcjti3i
|
||||||
|
ymJYcwJvHc8r6Od7Eb6HAAAAGGFnZWlzc2xlci50dXguMjIxMjE0MTAwMgECAwQF
|
||||||
|
-----END OPENSSH PRIVATE KEY-----" > $HOMEDIR/.ssh/id_ed25519
|
||||||
|
chmod 0600 $HOMEDIR/.ssh/id_ed25519
|
||||||
|
|
||||||
|
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" > $HOMEDIR/.ssh/id_ed25519.pub
|
||||||
|
chmod 0600 $HOMEDIR/.ssh/id_ed25519.pub
|
||||||
|
|
||||||
|
echo "-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
|
||||||
|
NhAAAAAwEAAQAAAQEAv4M/JiHEJgMTlW2owW9Jzu41iNPU13x5+pDYOhP+N20s7tdKqt4W
|
||||||
|
rUz7rl4GlOmPyjJBhdJ7ep7Lnz9z/btRawrauY9e+c9xgkI5OjG+UDjvYiizvX0FdPHeo9
|
||||||
|
wu2BnNfukmZUynUXsnwcu5UAH3lDLrxU+CnrzBMc8s7wLYEPGbSx8BFFgVuRf9GCBmcq+n
|
||||||
|
DDXtPUU9lk2CSG0Ak831blmzj8Nkhc73eJbO05yytxFOJI7o58wbEzgCS5G2lhVZuovluj
|
||||||
|
Nzfk7ra7aA3FtdkPQiuXkLVcEKzFktSWwACBpHtUynos4A7eRLlpOJOWKL17+sK3Fk/Umo
|
||||||
|
YHig1bQi8QAAA8hfST8CX0k/AgAAAAdzc2gtcnNhAAABAQC/gz8mIcQmAxOVbajBb0nO7j
|
||||||
|
WI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175
|
||||||
|
z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzy
|
||||||
|
zvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3
|
||||||
|
EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TK
|
||||||
|
eizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLxAAAAAwEAAQAAAQBGdpLYg9n4pm8hLrzF
|
||||||
|
lx3P/kNCObZ5Jnp2364/CDYjzI6Yvivh3F75mnaLvFqtlZXrLjx/cWcvQZfn2t/hfndBbD
|
||||||
|
f3yDGItnOsGpOVvtGoEJq7QgCH+qT0Vz20ioHNzwiV5lDTOrXhO+/v1PY04tRl+apX6Z5E
|
||||||
|
q2xl2DVPJ3u6F5ewzcKbuVYjo7AovAJ/1PeLXrPyPWroqjl1hNgcdMtG2vLAsGRz4f4HHH
|
||||||
|
mSk2kz8TVjzu8+n9rY533p1IJ82rbZiEeyxwhev304FWq6QPP+2meFP9jf767uMfpt6fwh
|
||||||
|
mgUiNCK25531DShsZ67lIGUj4DVivjL3AoZR8xYP6G81AAAAgQDeTh1Qrr31cLjajTgpe8
|
||||||
|
P0pLPiQJMnQq8eWNZpFOe2AUsXlowURy11VKUIqx6lB6vW2ZZwHjOhr2/k7d06JHCKDS7+
|
||||||
|
WRsXjcTEf2cFC4aUhPP1R9m2l3CyIl4cxQq4WBZ7ZHovn+Hh9hEPlppje7IjAqNSsSUYUS
|
||||||
|
ozssh1eqNXbgAAAIEA8FIwQxekEsUXNaHA5FJT4XmIPq0pWmqNHzVOgqzetj40lcvatgF5
|
||||||
|
3TmOFAQdNsJTBvZaFqqhAY4c7nZxtLvnml2MT8hhoZMF1ToNHTg7dhsv3wkA7pQxqwx5/8
|
||||||
|
S++8TK0GuFhIat+MsiAHWTLvQv6pPbsFU5/ZtbjUXu93wyIRMAAACBAMwB3fah8Rc7M0jq
|
||||||
|
7otanizTxEVUvJG6vwQh56kb2V5iM0MInlebGblxNrwzZq+c8F/oFGhwEwQb0QnnCp8yva
|
||||||
|
udFwOoIdCrLECMaAOCtOrObBwy7wSQH3RTbxn8Fn4tvFfD0FJKOtch+NuwtSbIC5buqrF/
|
||||||
|
0oGKMagDiaaZmHBrAAAAEmNvbmV0YWRtQGNvbmx4YW5zMQ==
|
||||||
|
-----END OPENSSH PRIVATE KEY-----" > $HOMEDIR/.ssh/ansible_id_rsa
|
||||||
|
chmod 0600 $HOMEDIR/.ssh/ansible_id_rsa
|
||||||
|
|
||||||
|
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gz8mIcQmAxOVbajBb0nO7jWI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzyzvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TKeizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLx ansible" > $HOMEDIR/.ssh/ansible_id_rsa.pub
|
||||||
|
chmod 0600 $HOMEDIR/.ssh/ansible_id_rsa.pub
|
||||||
|
}
|
||||||
|
|
||||||
|
install_ssh_authorized_key() {
|
||||||
|
if [ "$1" == "" ]; then
|
||||||
|
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> $HOMEDIR/.ssh/authorized_keys
|
||||||
|
else
|
||||||
|
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> $HOMEDIR/.ssh/authorized_keys
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mkdir -p $HOMEDIR/Nextcloud
|
||||||
|
mkdir -p $HOMEDIR/Nextcloud/adfc
|
||||||
|
mkdir -p $HOMEDIR/Nextcloud/agserver
|
||||||
|
mkdir -p $HOMEDIR/Nextcloud/conet
|
||||||
|
mkdir -p $HOMEDIR/bin
|
||||||
|
mkdir -p $HOMEDIR/git
|
||||||
|
mkdir -p $HOMEDIR/svn
|
||||||
|
mkdir -p $HOMEDIR/.ssh
|
||||||
|
rm -f $HOMEDIR/.bash_profile
|
||||||
|
|
||||||
|
install_ssh_authorized_key
|
||||||
|
install_ssh_keypair_files
|
||||||
|
|
||||||
|
sudo apt update -y
|
||||||
|
sudo apt install jq git subversion imagemagick exiftool
|
||||||
|
|
||||||
|
cd $HOMEDIR/git
|
||||||
|
git clone http://vpnafgeissler.selfhost.co:8418/andre/git-sync.git git-sync
|
||||||
|
|
||||||
|
|
||||||
|
cd $HOMEDIR/svn
|
||||||
|
svn co svn+ssh://rancid@10.101.0.11/home/rancid/basedir/SVN
|
||||||
|
|
||||||
|
echo "als root ausführen!!!
|
||||||
|
cd /opt
|
||||||
|
git clone http://vpnafgeissler.selfhost.co:8418/andre/git-sync.git git-sync
|
||||||
|
bash /opt/git-sync/git-sync.sh
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2
rootfs/home/git-sync-version
Normal file
2
rootfs/home/git-sync-version
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Stand: 04.03.2026 20:52
|
||||||
|
|
||||||
@@ -6,9 +6,14 @@ TARGET="/"
|
|||||||
# sicherstellen dass Repo existiert
|
# sicherstellen dass Repo existiert
|
||||||
if [ ! -d "$REPO/.git" ]; then
|
if [ ! -d "$REPO/.git" ]; then
|
||||||
echo "Git-Repo nicht gefunden: $REPO"
|
echo "Git-Repo nicht gefunden: $REPO"
|
||||||
|
mkdir -p /opt/
|
||||||
|
cd /opt
|
||||||
|
echo "Klone Git-Repo nach /opt"
|
||||||
|
git clone http://vpnafgeissler.selfhost.co:8418/andre/git-sync.git
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "Aktualisiere Git-Repo"
|
||||||
# Aktualisieren
|
# Aktualisieren
|
||||||
cd "$REPO" || exit 1
|
cd "$REPO" || exit 1
|
||||||
git stash push -m "auto-sync"
|
git stash push -m "auto-sync"
|
||||||
@@ -16,13 +21,26 @@ git pull --rebase
|
|||||||
git stash pop
|
git stash pop
|
||||||
|
|
||||||
|
|
||||||
|
echo "Verteile Dateien"
|
||||||
# Dateien verteilen (rootfs → /)
|
# Dateien verteilen (rootfs → /)
|
||||||
sudo rsync -a rootfs/ "$TARGET"
|
#sudo rsync --no-o --no-g -a rootfs/ "$TARGET"
|
||||||
|
rsync -rltpD rootfs/ "$TARGET"
|
||||||
|
|
||||||
|
echo "Setze Besitz und Berechtigungen"
|
||||||
chmod +x /usr/local/bin/*.sh
|
chmod +x /usr/local/bin/*.sh
|
||||||
chmod +x /home/andre/*.sh
|
|
||||||
|
|
||||||
|
chown andre:andre /home/andre/
|
||||||
|
chown andre:andre /home/andre/* -R
|
||||||
|
chown andre:andre /home/andre/.* -R
|
||||||
|
chmod +x /home/andre/*.sh
|
||||||
chmod 600 /home/andre/.ssh/*
|
chmod 600 /home/andre/.ssh/*
|
||||||
|
|
||||||
sudo systemctl daemon-reload
|
echo "Systemd Daemon Reload"
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
echo "Services aktivieren"
|
||||||
|
systemctl enable git-sync.timer
|
||||||
|
systemctl enable home-sync.timer
|
||||||
|
|
||||||
|
echo "Fertig"
|
||||||
exit 0
|
exit 0
|
||||||
Reference in New Issue
Block a user