Linux Scripting: Unterschied zwischen den Versionen

Aus Zovis Wikili
Wechseln zu: Navigation, Suche
(SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen)
(SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen)
 
Zeile 15: Zeile 15:
 
   
 
   
 
if grep -i "$email" /etc/mail/spamassassin/custom_rules/allowlist.cf; then
 
if grep -i "$email" /etc/mail/spamassassin/custom_rules/allowlist.cf; then
     echo "gits scho MX1"
+
     echo "gits scho"
 
   
 
   
 
else
 
else
 
     echo "whitelist_from  $1">>/etc/mail/spamassassin/custom_rules/allowlist.cf
 
     echo "whitelist_from  $1">>/etc/mail/spamassassin/custom_rules/allowlist.cf
 
     sudo systemctl restart spamassassin
 
     sudo systemctl restart spamassassin
     echo isch itreit wordä
+
     echo "isch itreit wordä"
 
   
 
   
 
fi
 
fi

Aktuelle Version vom 26. Januar 2022, 15:34 Uhr



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 \;