Linux Scripting: Unterschied zwischen den Versionen

Aus Zovis Wikili
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „ ---- = Check root = #check if script is run by root <nowiki>if $EUID -ne 0 ; then</nowiki> echoerr "ERROR: This script must be run as root" ex…“)
 
(SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
----
 
----
 +
 +
= SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen =
 +
<pre>
 +
#!/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
 +
</pre>
 +
 +
= 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"'
  
  

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