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…“)
 
Zeile 2: Zeile 2:
  
 
----
 
----
 +
 +
= SSH Verbindung in einem Script mit einem low User (Ohne Homeverzeichnis z.B. web9) aufbauen und dort Code ausführen =
 +
<code>
 +
#!/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 MX1"
 +
 +
else
 +
    echo "whitelist_from  $1">>/etc/mail/spamassassin/custom_rules/allowlist.cf
 +
    sudo systemctl restart spamassassin
 +
    echo isch itreit wordä
 +
 +
fi
 +
EOT
 +
 +
exit
 +
</code>
 +
 +
 +
= 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"'
  
  

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

  1. !/bin/bash
  2. by NEKU1
  3. Version 2021.06
  1. 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 MX1"

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