aktuelle.kurse/m122/tools-technics/README.md

119 lines
3.6 KiB
Markdown
Raw Normal View History

2023-06-05 09:50:39 +02:00
[TOC]
2023-06-05 16:16:09 +02:00
# M122 Abläufe mit einer Scriptsprache automatisieren
2022-05-24 13:49:44 +02:00
## Tools & Technics
### FTP
2022-06-03 12:01:08 +02:00
- [https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/](https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/)
2022-06-07 12:47:28 +02:00
2023-06-09 11:54:12 +02:00
Einen FTP-Zugang zu meinem Server können Sie nutzen, um eigene HTML-Inhalte zu publizieren
![ftp-zugangsdaten](ftp-zugangsdaten.png)
<br>
<br>
2022-06-07 10:46:59 +02:00
2022-06-23 01:22:16 +02:00
**bash-Beispiel**
2023-06-09 11:54:12 +02:00
2022-06-07 12:51:42 +02:00
<br>
2022-06-07 12:47:28 +02:00
![./ftpanweisungen.jpg](./ftpanweisungen.jpg)
2022-06-07 10:46:59 +02:00
2023-04-04 19:10:48 +02:00
<br>
<br>
2023-04-04 19:15:24 +02:00
Oder über eine **Zusatzinstallation** von 'lftp'
<br>
2023-04-04 19:10:48 +02:00
sudo apt install lftp
2023-04-04 19:15:24 +02:00
Danach sollte über folgenden Befehl die FTP-Anweisungen auch auszuführen sein, wobei die Variablen `$user`, `$pass` und `$host` sowie die anderen Variablen `$remote_path` und `$archive_filename` vorher natürlich entsprechend gesetzt werden müssen.
2022-06-07 10:46:59 +02:00
2023-04-04 19:10:48 +02:00
lftp -e "set ftp:ssl-allow no; put $archive_filename -o $remote_path/$archive_filename; quit" -u "$user","$pass" "$host"
2023-04-04 19:15:24 +02:00
Man beachte, dass mit `ssl-allow no` die Security abgeschaltet wurde. In diesem Beispiel wird `put` gemacht. Bei `get` dann entsprechendes.
2023-04-04 19:10:48 +02:00
2023-06-09 11:35:31 +02:00
<br>
**curl** Mittel curl (copy from url) können auch ganz einfach Daten, die
über https zugänglich sind, abholen. Benützen Sie z.B.
2023-06-09 11:24:24 +02:00
2023-06-09 11:35:31 +02:00
curl https://haraldmueller.ch/schueler/m122_projektunterlagen/b/MOCK_DATA.csv > mock_data.csv
2023-06-09 11:24:24 +02:00
2022-06-07 10:46:59 +02:00
2023-04-04 20:01:05 +02:00
**cmd-Beispiel** (Tasten 'WINDOWS' 'R' und dann "cmd" eintippen)
2022-06-23 00:36:43 +02:00
<br>
2023-04-04 20:01:05 +02:00
Legen Sie folgende 2 Dateien (`.bat` und `.ftp`) an und danach machen Sie Doppelklick auf den `.bat`-Programmaufruf
2022-06-23 00:36:43 +02:00
![./cmd-ftp-start.bat.jpg](./cmd-ftp-start.bat.jpg)
![./cmdcommands.ftp.jpg](./cmdcommands.ftp.jpg)
2022-06-28 15:58:54 +02:00
<br>
2022-06-28 16:15:19 +02:00
<br>
2023-04-04 20:01:05 +02:00
<hr>
<br>
<br>
2022-06-28 16:15:19 +02:00
2023-06-05 09:50:39 +02:00
### EMail
#### E-Mail in Linux / Bash
2022-06-23 00:36:43 +02:00
2023-04-04 11:41:17 +02:00
Hier eine Anleitung, wie in Bash ein Mail-System eingerichtet werden kann und wie man ein Mail machen kann.
Für unsere Anwendungen hier im Modol M122 recht es, dass man Mails senden kann. Das Empfangen von Mail hier in Bash ist nicht zwingend nötig.
Dazu muss man 'mailutils' installieren, damit man mit dem Befehl 'mail' ein Mail absenden kann.
Es geht auch mit 'mutt' und 'sendmails' und mit 'ssmtp':
https://linuxhint.com/bash_script_send_email
2023-04-04 14:17:42 +02:00
sudo apt install mailutils
2023-04-04 11:41:17 +02:00
Der Mailaufruf geht über einen 'Import' des Mailtextes
2023-04-04 14:17:42 +02:00
mail -s "$mail_subject" "$MAIL_TO" <<< "$mail_body" -a "$mail_attachment"
2023-04-04 15:49:13 +02:00
<br>
2023-04-04 20:01:05 +02:00
- https://www.linuxfordevices.com/tutorials/linux/mail-command-in-linux
- https://www.geeksforgeeks.org/send-mails-using-a-bash-script
2023-04-04 15:49:13 +02:00
<br>
<br>
2023-04-04 20:01:05 +02:00
Hier eine andere **Anleitung für Bash-Mails**, die über **GMail** verschickt werden.
Als **Ubuntu**-Installation über `msmtp-mta` und `heirloom-mailx`.
Beim Passwort muss das GMail-App-Passwort was man in den GMail-Einstellungen erstellt eingeben.
Man muss ein weiteres spezielles Zugangs-Passwort für externe User setzen. Schauen Sie in diesem
Video wie das geht und machen Sie alles nach.
https://youtu.be/J1DHQG5qFdU dasselbe findet sich auch als Text (um die commands zu kopieren)
https://www.alanbonnici.com/2020/11/howto-send-email-from-google-from.html
2022-06-07 10:46:59 +02:00
2022-06-28 15:58:54 +02:00
2023-06-05 09:50:39 +02:00
#### Mailing mit Python (Dank an Hr. Noel L. Hug, AP21a)
2022-06-28 15:25:41 +02:00
import win32com.client as win32
<br>
2022-06-28 15:58:54 +02:00
![./mailing-mit-python.jpg](mailing-mit-python.jpg)
2022-06-28 16:15:19 +02:00
2023-06-05 09:50:39 +02:00
#### Mailing mit PowerShell
2022-06-28 15:58:54 +02:00
[./mailing-mit-powershell](./mailing-mit-powershell)
<br>
![./mailing-mit-powershell.jpg](./mailing-mit-powershell.jpg)
2022-06-28 16:15:19 +02:00
2023-06-05 09:50:39 +02:00
#### Mailing mit PHP (nur auf Webserver!)
2022-06-28 16:15:19 +02:00
Diese Art funktioniert nur auf einem Webserver, auf dem ein Mailserver installiert ist, was bei allen teuren und billigen Internetprovidern normal ist. Wenn es auf dem lokalen Rechner funltionieren soll, muss zuerst ein Mailserver lokal installiert werden.
<br>
![./mailing-mit-phpwebserver.jpg](./mailing-mit-phpwebserver.jpg)
2023-04-04 15:49:13 +02:00
<br>