Linux Scripting
Inhaltsverzeichnis
- 1 SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen
- 2 Eine SSH Verbindung mit einem Webuser zu prüfen
- 3 Check root
- 4 Zeile aus Datei auslesen
- 5 Ordner auslesen
- 6 ssh in Script
- 7 rsync
- 8 du - Grösse von Ordner
- 9 Echo-Zeile ohne Zeilenumbruch
SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen
#!/bin/bash # by NEKU1 # Version 2021.06 # set var fröm attribut email="$1" ssh -i /ORDNER/id_rsa username@172.5.5.5 /bin/bash <<EOT if grep -i "$email" /etc/mail/spamassassin/custom_rules/allowlist.cf; then echo "gits scho" else echo "whitelist_from $1">>/etc/mail/spamassassin/custom_rules/allowlist.cf sudo systemctl restart spamassassin echo "isch itreit wordä" fi EOT exit
Eine SSH Verbindung mit einem Webuser zu prüfen
sudo -H -u web9 bash -c 'ssh -i /dein ordner/id_rsa username@172.5.5.5'
Ein neuen Host-Key einzutragen (wenn der Host gewechselt hat)
z.B.
sudo -H -u web9 bash -c 'ssh-keygen -f "/var/www/clients/client0/web9/.ssh/known_hosts" -R "172.5.5.5"'
Check root
#check if script is run by root if [[ $EUID -ne 0 ]]; then echoerr "ERROR: This script must be run as root" exit 27 fi
Zeile aus Datei auslesen
while read -r line; do echo "$line"; done < file.txt
Ordner auslesen
- maxdepht * gibt an wieviele Unterebenen ausgelesen werden soll
find -maxdepth 2 -type d -printf "%f\n" >liste.txt
ssh in Script
ssh hbmu01 <<'ENDSSH' echo hello world ENDSSH
oder
ssh -n ddscript@hddzf2 "BEFEHL"
rsync
rsync -v -d --progress /usr/local/scripts/backup/reports_sql/temp/*.txt hseh01:/mnt/nfs_cifs_sql/aaa-report/
du - Grösse von Ordner
du -h -d 0 /mnt/nfs_cifs_sql/* -b
Echo-Zeile ohne Zeilenumbruch
#!/bin/bash echo 'Eine Zeile mit Umbruch'; echo -n 'Eine Zeile ohne Umbruch, '; echo 'direkt gefolgt von einer weiteren Zeile.';
oder
#!/bin/sh echo 'Eine Zeile mit Umbruch'; echo 'Eine Zeile ohne Umbruch, \c'; echo 'direkt gefolgt von einer weiteren Zeile.';
Ausgabe:
Eine Zeile ohne Umbruch Eine Zeile ohne Umbruch, direkt gefolgt von einer weiteren Zeile.
Dateien rekursiv Umbenennen
find . -name cover.jpg -execdir mv {} folder.jpg \;