Kategorien
Linux

Veeam Agent for Linux – mit E-Mail Bericht versehen

Der Windows Agent von Veeam liefert nach dem Backup einen recht netten Bericht mit dem Status der gerade durchgeführten Sicherung:

Selbige Funktion fehlt dem Linux Agent leider, dem kann man zwar durch manuelles Aufrufen der Console ähnliche Daten entlocken – wirklich praktisch ist das allerdings nicht…

Als alter Bash Liebhaber findet sich aber fast immer für jedes Problem eine Lösung, ich habe ein kleines Bash Script gebaut welches die Werte vom letzten Veeam Backup Job ausliest und mittels Template File aufbereitet und per Mail versendet.

Das Ergebnis sieht dann wie folgt aus:

Die Unterschiede sind relativ gering, mit den Daten kann man aber auf jeden Fall was anfangen!

Hier gibt es das kleine Script zum Herunterladen:

http://www.grufo.com/veeam_mail.sh.txt

und das dafür nötige Template File:

http://www.grufo.com/veeam_mail_template.html

Seit Version 0.5 ist auch diese Config Datei nötig:

http://www.grufo.com/veeam_mail.config

Ich habe die beiden Datein auf meinem Linux System unter /usr/local/sbin/ abgelegt, der Pfad zur Template Datei ist entpsrechend im Script anzupassen – ebenso wie Absender und Empfänger Mail Adresse und der Name des Backup Jobs.

Man kann das Script als Post-Job Script beim Veeam Job mit angeben, sollte der letzte Job noch nicht fertig sein beendet sich das Script ohne weitere Meldungen.

Fehler werden auch entsprechend farblich gekennzeichnet und mit den Error Meldungen aus dem Logfile versehen:

Mir fehlt im Moment noch eine „Warning“ Mail vom Windows Agent damit ich die auch noch entsprechend anpassen kann, dürfte aber nur eine Frage der Zeit sein.

Ich hoffe ich kann mit dem kleinen Script auch anderen Veeam Nutzern eine Freude bereiten – positives Feedback ist willkommen! 😉

27.09.2017 – Update:

Ein paar kosmetische Änderungen habe ich noch vorgenommen, die Details kommen jetzt mit Zeilenschaltungen daher und nicht mehr in einer Wurst, die Agent Version vom Linux wird mit angegeben und Warnings erscheinen in orange.

2018.01.30 – Update Version 0.4: Nachdem das Script als Post-Script nicht funktionierte (siehe Kommentare) habe ich es ein wenig modifiziert, es forkt sich jetzt selbst und läuft verzögert im Postscript durch. Voraussetzung dass es überhaupt läuft es ein dummy-Pre-Script, ohne dieses kommt es vor dass veeam kein Post Script startet – ein Bug der wohl mit der nächsten Version behoben sein wird. Danke an Jens, Jan und Peter für’s Testen und Bugfixen! 😉

2019.04.25 – Update Version 0.5: Ich habe die Bugfixes der letzten Monate und ein paar Anregungen einfließen lassen und mich entschlossen die Version 0.5 frei zu geben. Die wichtigsten Änderungen in Kürze – Auslagerung der Config-Variablen in eine eigene Datei (veeam_mail.config), damit Updates einfach installiert werden können ohne Anpassung irgendwelcher Werte. Anzeige des Pfades auf welchem die Sicherung zuletzt gesichert wurde. Und eine Funktion die (falls aktiviert – SKIPUPGRADECHECK in der Config Datei) prüft ob eine neue Programmversion existiert und gegebenenfalls im Mail eine Info mit ausgibt.

http://www.grufo.com/veeam_mail.sh.txt
http://www.grufo.com/veeam_mail_template.html
http://www.grufo.com/veeam_mail.config

Für die nächste Version hätte ich dann geplant dass ich die Mails am Mailserver per Script auswerte und die Daten in einer Datenbank sammle. Diese sollen dann via PHP Script grafisch aufbereitet werden so dass man auf einer Übersichtsseite sofort alle Sicherungen im Blick hat.

Wie immer freue ich mich auf euer Feedback! 🙂

2019.05.07 Update Version 0.5.3: Damit es nicht langweilig wird habe ich das Tool noch ein wenig erweitert – jetzt erscheinen auch lokal gemountete Laufwerke und es wird versucht den benutzten und zur Verfügung stehenden Platz auch mit ins Mail zu packen. Download – siehe oben.

2019.07.23 Update Version 0.5.5: Zwei neue Config Parameter habe ich in der Datei veeam_mail.config hinzugefügt, sie dienen dazu zuverlässige den freien Platz bei CIFS gemounteten Backup Laufwerken zu ermitteln. SMBUSER und SMBPWD, die Datei sollte anschließend mit passenden Rechten versehen werden (chmod 600 veeam_mail.config) weil das Kennwort darin im Klartext angegeben werden muss. Sicher nicht die perfekte Lösung, aber sie funktioniert und jemand der so weit ins System eingedrungen ist dass er hier lesen kann dürfte sowieso schon genügend Schaden anrichten können. Wer eine andere einfach umzusetzende Idee hat – nur her damit!

2020.02.04 Update Version 0.5.9: Neue Config Option „DEBUG=1“ welche beim Aufruf von „veeam_mail.sh –bg“ direkt ein paar Debug Ausgaben liefert. Version 0.5.6 bis 0.5.8 haben ein paar kleine Fehler bei der Darstellung behoben.

2020.02.07 Update Version 0.5.10: Ich habe das Script umbenannt und auf Github angesiedelt, davon verspreche ich mir eine bessere Dokumentation bei Updates und Fehlern. Zu finden auf Github unter https://github.com/grufocom/vee-mail

124 Antworten auf „Veeam Agent for Linux – mit E-Mail Bericht versehen“

Hallo!
Bei mir bringt sqlite3 diese Fehlermeldung, wenn ich den Select ausführe.

Error: file is encrypted or is not a database

Hast du eine Idee dazu?

Viele Dank!

Hallo Marcel,

welche Version von Veeam hast du installiert?
Was liefert der Befehl:
sqlite3 /var/lib/veeam/veeam_db.sqlite „select start_time, end_time, state, progress_details from JobSessions order by start_time DESC limit 1;“

Wenn du ihn manuell startest?

Schöne Grüße
Manfred

[root@server /]# sqlite3 /var/lib/veeam/veeam_db.sqlite „select start_time, end_time, state, progress_details from JobSessions order by start_time DESC limit 1;“
Error: file is encrypted or is not a database

[root@server /]# veeamconfig -v
v1.0.1.364

Hallo Marcel,

was liefert dir denn:
file /var/lib/veeam/veeam_db.sqlite
bei mir kommt:
/var/lib/veeam/veeam_db.sqlite: SQLite 3.x database, user version 6

Ich kann jetzt nicht ausschließen dass veeam gelegentlich die Datenbank verschlüsselt anlegt, wüsste jetzt aber keine Grund dafür – da müsstest du mal bei deren Support anfragen!

Schöne Grüße
Manfred

Hallo Manfred,

die Datenbank ist nicht verschlüsselt, die Fehlermeldung ist nur irreführend. Der Fehler tritt bei mir auch auf – aber nur unter Cloudlinux. Mit sqlite3 kann man die DB nicht bearbeiten, was möglicherweise an der Implementierung in CentOS basierten Linuxversionen beruht.

Unter Debian funktioniert es einwandfrei.

Grüsse

Micha
.

Hi Petr,

you could add that script to the veeam job under advanced as post-job!
So it will be executed after the backup job has run.

Super Script! Danke dafür!
Habe Zeile 39 so angepasst, dass auch bei erfolgreichen Jobs das Skript sofort aussteigt. Identisch zu laufenden Skripten.
Somit bekomme ich nur eine Meldung wenn es einen Warning oder einen Fehler gab. Das hält den Blick scharf 🙂

Hallo Tobias,

ich habe mit Absicht die Meldung im Erfolgsfall aktiv gelassen damit ich sehe dass das Backup auch wirklich läuft. Mal angenommen es wird nicht gestartet, dann sieht man auch keine Fehler oder Warnmeldung in seinem Postfach – mit auskommentierter Erfolgsmeldung würde das dann dem Status gleich kommen den man hat wenn das Backup funktionierend durchgelaufen ist.

Aus meiner Sicht daher eher kontraproduktiv! 🙂

Schöne Grüße
Manfred

Toll, vielen Dank!

In der aktuellen Version v2.0.0.400 des Veeam Agent gibt es in der veeamconfig-Ausgabe am Ende eine weitere Zeile mit der Anzahl der Sessions. Damit das abgefangen wird:

Zeile 27:
SESSID=$($VC session list|tail -1|awk ‚{print $3}‘)

Ersetzen durch:
if [ „${AGENT:0:2}“ == „v2“ ]; then
SESSID=$($VC session list|tail -2|head -n 1|awk ‚{print $3}‘)
else
SESSID=$($VC session list|tail -1|awk ‚{print $3}‘)
fi

Hallo Karsten,

vielen Dank für den Hinweis – ich hab’s angepasst.
Ich habe einfach ein „grep -v ‚Total amount'“ mit eingebaut – das wäre dann versionsunabhängig.

Schöne Grüße
Manfred

hat evtl. noch jemand das Problem, dass das Script nicht als Postscript im Veeam läuft?
Erst hatte ich auch Probleme das Script per Cronjob aufzurufen, da gab es den Fehler „sendmail nicht gefunden“, das habe ich erfolgreich durch das Ergänzen des kompletten Pfades um Script behoben.
Mir gelingt es trotzdem nicht das Script als Postscript laufen zu lassen, Fehlermeldungen gibt es keine und es kommt auch keine Mail an. Manuell und per Cronjob läuft alles….

Grüße Jens

Hallo Jens,

das klingt irgendwie als würden irgendwelche environment Variablen fehlen die benötigt werden.

Zu dem von dir im Kontaktformular übermittelten Link – das könnte auch ein anderes Problem sein, eventuell fehlende Ausführungsrechte vom Script oder so… Die Frage dort ist eher ob’s überhaupt ausgeführt wird oder nicht.

Schöne Grüße
Manfred

Hallo Manfred,

ich habe mich jetzt mal ein wenig mit dem Script befasst.
Als erstes habe ich herausgefunden, dass das Post-Script ausgeführt wird.
Dann habe ich mir die Variablen angeschaut, hier scheint es ein Problem zu geben, wenn das Script als Post-Script läuft, dann wird nämlich die Variable $STATE immer mit „1“ befüllt und damit das Script beendet. Ich denke, es ist damit zu erklären, das das Backup noch nicht beendet ist.

Lasse ich das Script per Cronjob nach dem Backup laufen funktioniert die Erkennung.

Grüße Jens

Du hast Recht es hängt mit dem STATE zusammen, das Script prüft ja ob noch ein Job läuft weil eigentlich erst nach beendetem Job sicher ist wie er abgelaufen ist! 😉
Es ist so also als Post-Script nicht wirklich geeignet, es sei denn veeam beschließt das Post-Script erst zu starten wenn der eigentliche Backup Job schon beendet wurde.

Eine Möglichkeit wäre ein Post-Script einzusetzen, welches dein Script aufruft.
In Deinem Script eine kurze Zeitschleife rein und es sollte funktionieren, weil das Backup dann fertig sein sollte.

Die Möglichkeit habe ich mir auch mal überlegt, ganz optimal scheint sie mir aber nicht. 🙂
Ich würde die Verzögerung aber wenn dann in’s aufrufende Script einbauen, so in etwa:

#!/bin/bash

sleep 5 && echo „OK“ &

exit 0

Einfach den Scriptaufruf statt echo „OK“ rein und schon sollte es 5 Sekunden verzögert starten.

Hallo,

danke für das hilfreiche Script. Es hat bei mir initial einmal funktioniert, danach aber leider nicht mehr.
Ich hatte den ersten Job nochmal entfernt und einen neuen angelegt, seither klappt etwas nicht mehr. Obwohl das letzte Backup erfolgreich war (https://pasteboard.co/H3WSdQO6.png) kommt das Script zum Ergebnis, das Backup sei noch im Gange:

> echo $STATE
1

Allerdings stimmt die Session-ID auch nicht mir jener überein, die im Log-Ordner auftaucht:

echo $SESSID
142b0f01-abab-4de4-b580-ff9f7c2ccd0f

> ls /var/log/veeam/Backup/Full
Session_20180121_121415_{3892a52e-41c9-44c5-ba08-5800f6fc740b}

Ist etwas durcheinander gekommen? Wäre dankbar für einen Hinweis.

Danke & Gruß
Jan

Hallo Jan,

ich würde nicht allzu lange suchen und einfach veeam noch einmal deinstallieren, anschließend /etc/veeam und /var/lib/veeam löschen und dann veeam erneut installieren und die Sicherung frisch einrichten.
Das dürfte vermutlich schneller gehen als den Fehler zu suchen! 😉

Schöne Grüße
Manfred

Hallo Manfred,

Danke für den Hinweis. Du hast recht, mit frischer Konfiguration ist der Output des Script korrekt. Allerdings scheint Veeam Agent for Linux in der aktuellen Version einen Bug zu haben, der dazu führt, dass das Post-Job-Script (in bestimmten Situationen – bei vielen von euch scheint es ja zu klappen) gar nicht ausgeführt wird.

Hier ist das Problem bereits beschrieben: https://forums.veeam.com/veeam-agent-for-linux-f41/post-job-doesn-t-work-t47878.html

Ich habe daher einen Fall bei Veeam geöffnet.

Gruß
Jan

Hallo Jan,

wie du oben lesen kannst, ist das „Problem“ mit dem STATE gelöst.
Wie ich jetzt aber mehrfach feststellen musste, ist es scheinbar Glückssache ob das post-script vom Veeam überhaupt gestartet wird. Ich habe es mit einem einfachen Script welches das Datum in ein File schreibt getestet. Momentan wird es gar nicht mehr gestartet….
Es wäre nett, wenn du uns hier auf dem Laufenden halten würdest, bzw. uns einen Link zu dem gemeldeten Fall posten könntest.

Danke Jens

Hallo Jens,

genau – ich lasse auch zu Beginn ein Datum schreiben und das passiert bei mir nie.

Der Fall ist bei Veeam nicht öffentlich einsehbar, sondern an meinen Account gebunden. Ich poste aber gerne was, wenn ich eine zielführende Antwort habe.

Grüße
Jan

Antwort von Veeam (Workaround noch nicht von mir validiert):

————————
I’ve discussed your question, and it seems to be a known issue, which will be fixed in the next update of Veeam Agent.

As a workaround please create additional dummy „pre-job“ script for example:

#!/bin/bash
exit 0
————————

Hallo Jan,

danke für die Info. Ja, das könnte passen, als ich getestet habe, hatte ich auch ein pre-script eingerichtet und da lief der Job.
So, eingerichtet… und es funktioniert!!
Im Backupfenster wird jetzt auch angezeigt, dass die Scripts ausgeführt wurden.
Ich habe natürlich das oben angesprochene Hilfsscript (Zeitschleife) verwendet.

Danke
Jens

Hallo, leider habe ich das Problem das, das Script nicht nach dem Backup ausgeführt wird – von Hand startet es jedoch. Ich habe die Scripte als root mit wget runterladen in /etc/veeam/scripts und editiert. Danach dann in den Jobeigenschaften dann zuregordnet (mit Browser, Datei wurde gefunden).

Den Scripten habe ich mit chmod 755 und noch mit chgrp veeam angepasst.

Mit Tail kann ich sehen das wenn ich manuel starte Mails versendet werden, nach dem Jobs passiert jedoch nichts.

Muss ich noch was ändern (Rechte anpassen oder ähnliches)?

Danke für das tolle Scipt und die Unterstützung.

Hallo Peter,

lies dir bitte die Kommentare von Jens und Jan durch, das ist ein Bug im Veeam und mit dem Workaround „pre-script“ sollte es gehen!

Schöne Grüße
Manfred

Hallo Manfred, danke für deine schnelle Antwort – dank dem Pre-Script kommt nun zumindest die Meldung das es ausgeführt wurde – aber es kommt nichts an. Auch mit einem tail /var/log/exim4/mainlog sehe ich nur meine manuel ausgeführten Versuche, keine der zum Script passt.

In dem Job.log wird folgendes geschrieben:

[25.01.2018 14:54:15] lpbcore| Executing custom script: [/etc/veeam/scripts/veeam_mail.sh]. Arguments: []
[25.01.2018 14:54:15] lpbcore| Executing custom script: [/etc/veeam/scripts/veeam_mail.sh]. Arguments: []
[25.01.2018 14:54:15] | Thread started. Thread id: 140418414360320, parent id: 140418431145728, role: script output redirector to log
[25.01.2018 14:54:15] | Thread started. Thread id: 140418405967616, parent id: 140418431145728, role: script output redirector to buffer
[25.01.2018 14:54:15] | Thread started. Thread id: 140418395965184, parent id: 140418431145728, role: Pid waiter. timeout: 600
[25.01.2018 14:54:15] | Thread finished. Role: ’script output redirector to buffer‘.
[25.01.2018 14:54:15] | Thread finished. Role: ’script output redirector to log‘.
[25.01.2018 14:54:15] | Thread finished. Role: ‚Pid waiter. timeout: 600‘.
[25.01.2018 14:54:15] lpbcore| Executing custom script: [/etc/veeam/scripts/veeam_mail.sh]. Arguments: [] ok.
[25.01.2018 14:54:15] lpbcore| Executing custom script: [/etc/veeam/scripts/veeam_mail.sh]. Arguments: [] ok.
[25.01.2018 14:54:15] vmb | [SessionLog][info] Post-job script has been executed successfully.
[25.01.2018 14:54:15] vmb | [SessionLog][info] Processing finished at 2018-01-25 14:54:15 CET.

Auf der Firewall sehe ich im SMTP des Relays nichts einkommen – auch nur hier meine manuellen Teste.

Hättest du eine weitere Idee?

Danke für deine Mühen.

Hallo Peter,

wenn du das Script manuell ausführst dann bekommst du das Mail ganz normal zugestellt – nur wenn du es als Post-Script starten lässt dann klappt es nicht. Richtig?
Das klingt für mich nach dem unten beschriebenen Problem dass der veeam Job noch läuft und der Start vom veeam_mail.sh durch ein weiteres Script verzögert erfolgen muss!
So lange der Backup Job noch rennt kann das Script nicht auf den endgültigen Status zugreifen, erst wenn der Job beendet ist.

Schöne Grüße
Manfred

Hallo Manfred, ich bin leider immer noch mit meinem Problem dran. Wenn ich per root das Script von Hand starte, dann läuft das durch.

Wenn ich es jedoch per Cron startete bekam ich den folgenden Fehler:

/etc/veeam/scripts/veeam_mail.sh: Zeile 104: sendmail: Kommando nicht gefunden.

Das Problem konnte ich lösen in dem ich in Zeile 104 sendmail gegen /usr/sbin/exim ausgetauscht habe.

Ich könnte zwar jetzt einfach nach der Sicherung irgendwann mit Cron mir den Bericht senden lasse – wäre aber nicht schön.

Du schriebst das es daran lag, das der Job noch läuft – die Sicherung läuft bei mir ca. 40 Sekunden (sind nicht viele Daten die gesichert werden), deshalb habe ich ich direkt oben in deinem Script ein sleep 120 eingebaut, dann sollte dicke die Sicherung durch sein.

Jedoch nach der Sicherung passiert nichts, es wird zwar im Veeam angezeigt das Post Script abgearbeitet wurden, jedoch sehe ich mit einem tail /var/log/exim4/mainlog das nichts passiert ist – dort sehe ich nur meine manuellen Teste.

Langsam bin ich ratlos.

Hallo Peter,

nachdem das wohl öfter vorkommt werde ich mir eine Lösung für das Problem überlegen und einbauen. Ich hoffe ich komme in den nächsten Tagen dazu etwas zu basteln! 🙂

Schöne Grüße
Manfred

Es bringt nichts, in das Script ein Sleep einzubauen, da die Sicherung erst beendet ist, wenn das Pos-Script beendet ist. Daher hatte Manfred und auch ich weiter oben schon die Lösung dazu aufgezeigt. Im Post-script das eigentliche Script mit einer Zeitverzögerung aufrufen und das Post-script sofort beenden.

Auch das Problem „sendmail nicht gefunden“ habe ich weiter oben schon angesprochen, einfach im Script den vollen Pfadnamen zu sendmail eintrage, dann klappt das auch.

Grüße Jens

Hallo Jens,

genau so ist es – ich werde das Script so modifizieren dass es sich selbst forkt und beendet sobald es erkennt dass die Session noch läuft. Das mit einer Verzögerung im geforkten Script sollte die Sache vernünftig zum Laufen bringen! 🙂

Schöne Grüße
Manfred

Ok, nun habe ich auch auch verstanden – ich dachte, das es nur eine Weile dauerte bis der Job tatsächlich beendet ist – und nicht das der Job erst nach dem Post-Script beendet ist.

Das mit dem ganzen Pfad war nicht mein eigentliches Problem – das eigentliche Problem war, das ich Exim nutze und unter root wo ich manuel getestet hatte, war wahrscheinlich ein Alias dafür da, der nicht beim Cron griff – erst als ich dann Exim mit ganzen Pfad verwendetet lief das Script bei mir.

Ich nutze so lange erst mal die Cron Lösung und warte dann sehnsüchtig auf die Anpassung. Auf jeden Fall habe ich dank deinem Script Manfred endlich mal eine schicke Email mit dem Status :).

Danke für eure Mühen :).

Guten Morgen,

ich habe gerade Version 0.4 des Scripts online gestellt – diese Version löst das Problem mit dem Post-Script! 🙂

Schöne Grüße
Manfred

Hallo zusammen,

zunächst einmal vielen Dank für dieses Skript, super Arbeit! Leider bin ich noch kein all zu großer Linux Feak und bringe mir das alles erst seit kurzer Zeit bei. Da ich bei mir alle Sicherung der Linux Maschinen auch mit dem Veeam Agent mache bin ich hier über den Beitrag gestolpert und prinzipiell bekomme ich das Skript zum laufen aber leider nicht als post-script. Ich hatte zunächst sendmail verwendet aber bin dann auf postfix gewechselt. Ich kann das Skript direkt aufrufen und die Mails kommen auch an, nur nicht durch den Veeam Agent. Bevor ich postfix installiert habe konnte ich im unkonfigurierten sendmail auch den Fehler sehen, dass ich noch kein Relay eingerichtet habe (als post-script). Nun passiert überhaupt nichts und ich finde auch keinen Eintrag im mail.log oder im Veeam Agent. Der sendmail Befehl funktioniert mit postfix und ich habe auch schon absolute Pfade angegeben aber leider wieder nichts. Muss ich hier noch irgendetwas beachten?

Hallo Timo,

hast du dir die Kommentare schon durchgelesen?
Da wird genau das Thema behandelt – am besten du liest von unten nach oben, dann dürftest du am schnellsten fündig werden! 🙂

Schöne Grüße
Manfred

Das mit dem pre-job Skript hatte ich einfach völlig ignoriert ….. 🙂 Nachdem ich dann auch noch das Notepad++ Problem gelöst habe funktioniert nun alles. Vielen Dank!

Ich habe noch ein kleines Problem mit dem Skript wenn das Backup fehlschlägt. Habe zu Testzwecken einfach mal die Sicherung abgebrochen und in der Mail die dann gesendet wird fehlen die meisten Informationen wie z.B. der Status, Endzeit und einige Details. Führe ich das Skript danach manuell aus kommt die E-Mail korrekt an mit alles Informationen. Tritt wie gesagt nur bei dem State Failed auf, Warning müsste ich noch mal testen.

Wenn du den Veeam Backup Job abbrichst, dann dürfte der vermutlich auch den Post Job nicht mehr starten und somit keine Meldung kommen.
Wenn du auf eine externe Platte sicherst, dann könntest du das testen indem du die Platte während der Sicherung einfach absteckst – dann sollte eine entsprechende Meldung verschickt werden.
Wie hast du denn die Sicherung abgebrochen?

Das Skript wird definitiv ausgeführt, in der Mail sind nur nicht alle Informationen vorhanden. Ich kann gerne mal die Mail weiterleiten damit das klarer wird. Abgebrochen habe ich den Job einfach per Stop Befehl in Veeam.

Hallo Timo,

ich konnte das Problem bei mir nachvollziehen und es liegt daran dass beim „stop“ Veeam wohl das Post Script ausführt bevor es den eigentlich Job beendet hat. Ich gehe jetzt einfach her und verzögere die Ausführung des Scripts immer ein wenig, damit gehe ich dann auf Nummer Sicher und der Job ist abgeschlossen wenn das Mail verschickt wird.

Die neue Version ist online!

sg
Manfred

Hallo Manfred,

die neue Version funktioniert nun auch wenn ich den Job abbreche. Wenn ich das Skript aber manuell aufrufe bekomme ich die Meldung „nohup: redirecting stderr to stdout“ und bleibe einfach in der Shell hängen. Scheint dennoch alles normal abzulaufen und die Mails kommen auch alle an.

Falls Interesse besteht, ich habe die Vorlage noch ein ganz klein wenig angepasst, sodass die Mail jetzt exakt so aussieht wie beim Veeam Agent für Windows. Wirklich nur minimal

Thank’s for script ! It’s works amazing on Debian systems.
But i cannot send e-mail from CentOS. I use pre-job scrips of course.
I checked sqlite and bc it’s installed.
Any ideas ?

Hallo, nachdem die Datensicherung so Probleme machte, das ich diese komplett deinstallieren und neu installieren musste habe ich auch wieder die Emailinfo eingerichtet.

Jedoch habe ich mal wieder Probleme.

Wenn ich aktuelle Version einrichte, dann wird als Pre-Job keine Mail versendet. Starte ich das Script von Hand, bekomme ich folgende Meldung:

root@web:/usr/local/sbin# nohup: leite Standardfehlerausgabe auf Standardausgabe um

Das Script endet nicht, Mail kommt dann jedoch an (zumindest beim starten von Hand).

Super, freut mich zu hören!
Wenn veeam korrekt installiert wurde dann wird es automatisch mit dem Klassiker „apt-get update;apt-get dist-ugprade“ aktualisiert.
Bei der 3’er Version muss man nur beachten dass man vor dem ersten Sichern unbedingt „veeam“ starten und die beiden Lizenzen abnicken muss!
Schöne Grüße
Manfred

Hallo Manfred,
herzlichen Dank für Teilen des Skript und ich möchte Dir gerade noch ein virtuelles Kränzchen dafür binden! Ich benutze das Skript mit Veeam 3.x Linux Agent auf einem Open Media Vault (OMV) Version 4.x Server. Ich habe das Skript heruntergeladen, die Anpassungen im Header gemacht (Job Name etc) und dann hat es einfach funktioniert, dies gerade schon beim ersten Mal. Ich dachte noch es gibt Probleme, da OMV mit postfix anstatt sendmail kommt aber , wie gesagt alles gut , schön und farbig 🙂

Hey Manfred,
Ich bin krass erstaunt. Die Email sieht aus, wie von Herr VEEAM persönlich. Danke! Ich habe beim Einrichten ein paar Problemchen gehabt und gelöst:
Fehler1: …database encrypted…
Auf dem Scientific Linux (Rehat-Ableger) war übers Repository sqllite3 in der Version 3.6.xx installiert. Nach ein bisschen Rumforscherei habe ich stumpf das Binary ersetzt mit einer aktuellen Version 3.7.xx von der sqllite-Webseite. Schon lief es.
Fehler2: Mail mit leerem Inhalt
Ich habe nach ein wenig debuggen die Zeile 91 „TEMPFILE=$(tempfile)“ geändert in TEMPFILE=$(mktemp)

Vielen Dank noch mal!
Stefan

Hallo Stefan,

danke für die Info – tempfile scheit bei Scientific Linux wohl nicht per Default installiert zu sein, mktemp macht aber eh praktisch genau das gleiche. 🙂
Der Hinweis mit der sqlite Version wird sich dem einen oder anderen weiterhelfen – Danke!

Schöne Grüße
Manfred

Hab auch das nohub Problem allerdings hab ich die aktuellste Version schon. Version: veeam 3.0.1.1046
/usr/local/sbin# nohup: leite Standardfehlerausgabe auf Standardausgabe um

Hab hinter /dev/null noch das hinzugefügt: 2>&1

Original:
if [ ! „$1“ == „–bg“ ]; then
nohup $0 –bg >/dev/null &
exit

Änderung:
if [ ! „$1“ == „–bg“ ]; then
nohup $0 –bg >/dev/null 2>&1 &
exit

Keine nohub Fehlermeldung mehr. Danke für das nette script. ?

Hallo zusammen !

Endlich habe ich es auch für mich funktionieren lassen, es ist so toll!
Vielen Dank für das Skript und für alle Kommentare und Fehlerbehebungen, die zur aktuellen Version geführt haben.
Ich habe jedoch ein kleines Problem, für das ich noch etwas Hilfe anfordern möchte: Ist es nicht möglich, die Quell-IP-Adresse und die IP-Adresse (oder den Pfad) des freigegebenen Zielordners anzuzeigen?

Aus meiner Sicht scheint es für den Bericht wirklich relevant zu sein …

Etwas hilfe bitte!

Vielen Dank

Hallo René,

das macht Sinn und kann man sicher aus der Datenbank holen!
Ich schau mir das bei Gelegenheit mal an…

sg
Manfred

Hallo René,

ich habe deine Anregung mit dem Pfad in der aktuellen Version eingebaut und noch ein paar andere Kleinigkeiten!
Die Version 0.5.0 steht zum Download bereit – bitte beachten dass die Konfiguration in eine eigene Datei ausgelagert wurde.

sg
Manfred

Hallo Manfred,

Vielen Dank für Ihre hohe Reaktionsfähigkeit …
Ich versuche herauszufinden, wie ich die Datenbank verlassen kann, um diesen Zweck zu erreichen …
Ich gebe zu, dass das Skript alles tut, was es soll, aber ich habe immer noch das gleiche Problem mit Marcel auf einem meiner Server, auf dem veeam agent v2.0.0.400 installiert ist. Dort stecke ich bei der Fehlermeldung fest.

Fehler: Die Datei ist verschlüsselt oder keine Datenbank

Auf dem Server läuft Centos 6, und ich habe keine Problemumgehung gefunden, um dieses Problem zu lösen, da ich nicht auf eine andere Linux-Version migrieren kann.
Ich werde jeden Vorschlag wirklich zu schätzen wissen.

Grüße
René

Hallo René,

wie Stefan etwas früher schreibt hat er das Problem dadurch gelöst dass er sqlite3 durch eine neuere Version 3.7 ersetzt hat – die ältere 3.6 (oder früher) scheint mit dem Format nicht zurecht zu kommen.

Schöne Grüße
Manfred

Hallo Manfred

danke für das tolle Script. Es macht genau das was ich brauche.
Jedoch erhalte ich das Mail mit leerem Inhalt. Ich habe auch schon mktemp nachinstalliert, hat jedoch nichts gebracht.
Kannst du mir hier weiterhelfen?
Danke im Voraus und liebe Grüsse

Tatiana

Hallo Tatiana,

wenn du im Script „rm $TEMPFILE“ ganz am Schluss durch „echo $TEMPFILE“ ersetzt sollte ein Aufruf dir den Pfad zur temporären Datei angeben – schau mal nach ob die existiert und befüllt ist!?
Die aktuellste Version 0.5.4 hast du im Einsatz oder?

Hallo Manfred

danke für die schnelle Antwort.
ich erhalte keinen Pfad für „echo $TEMPFILE“. Frage mich ob das überhaupt erzeugt wird.
Wo kann ich die Version nachsehen? Habe die Files einfach von deiner Webseite heruntergeladen.

Gruss Tatiana

Im veeam_mail.sh File steht gleich am Anfang VERSION= drinnen.
Was liefert dir denn der Befehl?:
sqlite3 /var/lib/veeam/veeam_db.sqlite

Version ist 0.5.4
Befehl liefert die sqlite prompt:

[root@vwerkpsql02 sbin]# sqlite3 /var/lib/veeam/veeam_db.sqlite
SQLite version 3.7.17 2013-05-20 00:56:22
Enter „.help“ for instructions
Enter SQL statements terminated with a „;“
sqlite>

Im Grunde geht das Script ja ganz einfach vor und holt sich erst die letzte Veeam Session und anschließend deren Daten aus der SQLite-DB.

veeamconfig session list|grep -v "Total amount"|tail -1|awk ‚{print $3}‘

Aus der SQLite-DB werden dann weitere Daten ausgelesen:

SELECT start_time, end_time, state, progress_details, job_id from JobSessions order by start_time DESC limit 1;

und

SELECT a1.options FROM BackupRepositories AS a1 LEFT JOIN BackupJobs AS a2 ON a1.id=a2.repository_id WHERE a2.id=\“$JOBID\“

Wobei JOBID durch die JOBID der vorherigen Abfrage ersetzt wird.

Wenn da überall was retour kommt ist der Teil schon mal sauber.

In Zeile 130 wird das TEMPFILE erzeugt – wenn du hier in Zeile 131 ein

echo "ABC: $TEMPFILE“

einfügst, dann sollte auf jeden Fall ein Pfad ausgegeben werden. Ich füge immer noch ein paar Zeichen hinzu damit ich sehe ob die Zeile überhaupt abgearbeitet wird!

Zur Sicherheit würde ich das Script mit dem Startparameter „–bg“ starten, dann forkt es sich nicht selbst – der Aufruf dauert dann mindestens 30 Sekunden.

Sehr gerne doch! 🙂

Ich hatte das Script vor einigen Monaten Mal auf einem Testsystem getestet gehabt -> Funktionierte problemlos. Nun wollen wir das Script im großen Stil auf 15 weiteren System implementieren, scheitern jedoch bereits am 1. :-D. Meine Vorgehensweise:

-> Anpassung des Scripts (.config) in Windows
-> .zip aller benötigten Dateien
-> Hochladen in die Cloud
-> Verbinden mit Zielsystem
-> WGET und unzip
-> benötigte Dateien via mv in /usr/local/sbin
-> umbenennen von veeam_mail.sh.txt in veeam_mail.sh
-> chmod +x auf veeam_mail.sh.txt
-> Manuelle Ausführung des Scripts um zu prüfen, ob er nicht bei der apt-get Kontrolle von sqlite etc. hängenbleibt
-> Integration des Scripts im Veeam Agent als Postscript
-> Starten des Jobs

Danach erhalte ich zwar eine E-Mail mit folgendem Betreff:
[Success] CENSORED – Tuesday, 30 July 2019 10:23:30

Der Inhalt der E-Mail ist jedoch leer.

Erkennst du bei meiner Vorgehensweise vielleicht einen Fehler und kannst mir spontan weiterhelfen?

Vielen lieben Dank vorab und viele Grüße,
Ralphy

Hallo Ralphy,

hast du auch das Template File heruntergeladen und mit kopiert?
Für mich klingt das als würde dieses fehlen.

Schöne Grüße
Manfred

Hallo Manfred,

vielen Dank für die wahnsinnig schnelle Rückmeldung. Das freut mich sehr.

Da ich sowieso an der Pflege unserer Systeme dran bin, habe ich das Script mit der selben Vorgehensweise auf 3 weiteren Systemen implementiert und anschließend den Veeam Job ausgeführt.

1 System schickt leere template files (Alle Felder unausgefüllt) und die restlichen 3 Systeme inhaltslose SUCCESS Mails.

Damit das Ganze ein wenig aussagekräftiger ist, habe ich Screenshots angefertigt und möchte Dir zusätzlich meine configfile zeigen:

Screenshot:
https://imgur.com/a/5iufjF3

JOBNAME=“VEEAMJOBNAME“
EMAILTO=“backup@xxx.de“
EMAILFROM=“backup@yyy.it“
HTMLTEMPLATE=“/usr/local/sbin/veeam_mail_template.html“
SKIPVERSIONCHECK=0
SMBUSER=““
SMBPWD=““

Viele Grüße,
Ralphy

Hallo Ralphy,

vom Screenshot her schaut es gut aus!
Da vermute ich jetzt mal dass das Editieren unter Windows das Problem verursacht – falls die Datei mit falschen Zeilenumbrüchen gespeichert wird, dann kommt da nix vernünftiges mehr raus.
Falls du unter Linux das dos2unix Tool installiert hast kannst du damit die Datei in ein kompatibles Format umwandeln.

Schöne Grüße
Manfred

Hallo Hansgert,

vielen Dank – kannst du mir dein geändertes Script zukommen lassen?
Dann kann ich sehen wie ich’s gleich fix in den Standard einbaue – eine Prüfung ob rpm oder dpkg basierend ist ja keine Hexerei. 🙂

Schöne Grüße
Manfred

SQLITE=$(which sqlite3)
if [ „$SQLITE“ != „/usr/bin/sqlite3“ ]; then
yum install -y sqlite
fi

BC=$(which bc)
if [ „$BC“ != „/usr/bin/bc“ ]; then
yum install -y bc
fi

Hallo Hansgert,

ich hab’s eingebaut – könntest du es bitte mal mit der neuen Version 0.5.6 testen!?

Danke
Manfred

Hallo Manfred,

zuerst einmal vielen Dank für die geniale Arbeit.
Es erleichtert einem soviel.

Ich habe da nur eine Frage, in der config gibt es die Variable JOBNAME, was soll die denn bewirken?
Zuerst dachte ich, damit kann ich mir in der Mail einen beliebigen Namen festlegen um bei mehreren Jobs leichter eine Unterscheidung zu erkennen, welcher nun gelaufen ist.

Habe aber das Gefühl, das diese im Skript überhaupt nicht benutzt wird und stattdessen immer der Hostname gesetzt wird.
Also ich meine den farblichen Header in der Mail ganz oben, direkt nach Agent Backup job:
Dort wird bei mir immer der Hostname eingetragen, egal was in der config steht oder wie der Job im Veeam heist.

Ist das ein normales Verhalten oder stimmt da was bei mir nicht.

Vielen Dank und beste Grüße
Manuel

Hallo Manuel,

das ist korrekt im Template wird nur der Hostname getauscht und eingetragen. Der Jobname steht für den Job der gestartet werden soll. Da ich meist nur einen Job auf jeweils einem Rechner am Laufen habe passt das so für mich recht gut. Könnte man natürlich für eine künftige Version auch anders vorsehen, verwendest du denn verschiedene Backup Jobs?

Schöne Grüße
Manfred

Okay, hat sich erledigt.
War zu doof. Steht natürlich im template drin. Und dort wie vermutet mit der Variable Hostname.
Habe nun mehrere Templates erstellt und den Hostname mit der Bezeichnung meiner Jobs ersetzt.

Vielen Dank nochmal für die tolle Arbeit.

Beste Grüße
Manuel

Hallo Manfred,
ich habe die neue Version unter CentOS 7.7.2 getestet und versuchsweise vorher einmal bc deinstalliert.
bc wurde sauber nachinstalliert und das Script anschließend bis zum Ende ausgeführt.
Vielen Dank und schöne Feiertage.

Version: Veeam Agent for Linux v3.0.2.1190, Veeam-Mail Version 0.5.8 on Centos 7

Hi,

The scripts is work, but on Details its doesnt show Size, Read and Transfered

Please advice. TQ

Hallo Manfred!
System: ubuntu 18.04
Fehler: post-job success aber keine E-Mail bekommen

Ich habe die Files unter /opt/vee-mail gepackt, das vee-mail.config file mit JobId und sender/reciever E-Mail Adressen versehen, im „vee-mail.sh“ in line 7 anstatt „vee_mail.config“ nun „vee-mail.config“ eingetragen und natürlich chmod +x vee-mail.sh gemacht.
Leider bekomme ich keine E-Mail. Hast du Ideen wo hier das Problem liegen könnte?

Viele Grüße
Felix

Hallo Felix,

entschuldige die späte Antwort!
Danke erstmal für die Info bezüglich des Config files, habe ich angepasst.
Was bekommst du für Meldungen wenn du DEBUG auf 1 setzt und das Script mit –bg startest?

Schöne Grüße
Manfred

Hallo Manfred,
kein Problem.
Ich habe jetzt DEBUG=1 gesetzt und bekomme nun ein den Fehler „[warn] Failed to execute post-job script“. Was genau meinst du mit -bg? bash -bg vee-mail.sh?
Ich habe auch mal manuell versucht das Script zu starten (bash vee-mail.sh) und bekomme seltsamerweise den Fehler „No Veeam Agent for Linux installed!“. Da Veeam aber bereits Backups von dem System gezogen hat, bin ich mir eigentlich recht sicher, dass es installiert ist 😉

Viele Grüße
Felix

Hallo Felix,
es gab mal einen Bug im Veeam (welche Version nutzt du?) der verhindert hat dass das Post-Script ausgeführt wurde, Lösung dafür war einfach einen pre-script job zu erstellen.
Dazu braucht es nur ein kleines Script mit folgendem Inhalt:

#!/usr/bin/env bash
exit 0

Das Script mit „chmod +x scriptname“ ausführbar machen und als pre-job eintragen.
Aber der Bug sollte schon lange behoben sein.
Mit manuell starten und –bg meinte ich folgendes:

/opt/vee-mail/vee_mail.sh –bg

Die Meldung die du bekommst „No Veeam Agent for Linux installed!“ kommt daher dass der Befehl „which veeamconfig“ kein veeamconfig geliefert bekommt!

Bei mir sieht das so aus:

root@sys:~# which veeamconfig
/usr/bin/veeamconfig
root@sys:~# dpkg -S /usr/bin/veeamconfig
veeam: /usr/bin/veeamconfig
root@sys:~# dpkg -l|grep veeam
ii veeam 4.0.0.1961 amd64 Veeam Agent for Linux
ii veeam-release-deb 1.0.7 amd64 Veeam Backup for GNU/Linux repository
ii veeamsnap 4.0.0.1961 all Veeam Agent for Linux (kernel module)

Schau dir die Befehle mal an, eventuell fehlt bei dir ja wirklich was!

Schöne Grüße
Manfred

Hallo Manfred,
habe exakt die gleichen Versionen wie du installiert.

-bg geht nicht, er sagt ‚incorrect path for post-job script‘

Den Butfix mit dem pre-script habe ich jetzt mal noch nicht getestet, da ich die gleichen veeam Versionen habe wie du.

Evtl stimmt was in meiner vee-mail.conf nicht? Habe für email to und email from jeweils die gleiche E-Mail angegeben. Ansonsten nur den Jobnamen geändert.

Viele Grüße
Felix

Hallo Felix,

ich meinte das Script direkt auf der Kommando Zeile starten mit “ –bg“ dahinter! Nicht als Post Script. 🙂

Schöne Grüße
Manfred

Oh 🙂
bash vee-mail.sh -bg ergibt wieder ‚No veeam Agent for Linux installed!‘
Bei sudo und obrigen Befehl passiert gar nichts.

Viele Grüße
Felix

Hallo Felix,

du musst das Script als root user starten – also am besten mit „sudo su“ zum root user wechseln und dann die Befehle eingeben!

which veeamconfig
Und
dpkg -l|grep veeam
Und
/opt/vee_mail/vee_mail.sh –bg

Bin gespannt auf die Ausgabe…

Schöne Grüße
Manfred

which veeamconfig
Und
dpkg -l|grep veeam

habe ich bereis als superuser ausgeführt und bekomme genau deine oben genannte Ausgabe siehe unten:

root@sys:~# which veeamconfig
/usr/bin/veeamconfig

root@sys:~# dpkg -S /usr/bin/veeamconfig
veeam: /usr/bin/veeamconfig

root@sys:~# dpkg -l|grep veeam
ii veeam 4.0.0.1961 amd64 Veeam Agent for Linux
ii veeam-release-deb 1.0.7 amd64 Veeam Backup for GNU/Linux repository
ii veeamsnap 4.0.0.1961 all Veeam Agent for Linux (kernel module)

/opt/vee-mail/vee-mail.sh –bg wird einfach ausgeführt, genau wie ohne den -bg Parameter, e-Mail kommt keine.

Wobei ich gerade gesehen habe, dass sudo du was anderes ist als, wenn man per sudo -i sich root Rechte verschafft, was ich gemacht habe.
sudo du /opt/vee-mail/vee-mail.sh kommt 12 raus und bei sudo du /opt/vee-mail/vee-mail.sh -bg sagt er, dass -g eine ungültige Option sei.

Ich weiß also gerade leider nicht was das Problem ist.

Viele Grüße
Felix

Sorry, „sudo su“ – am Handy tippen.. tja – Rechtschreibkontrolle 🙂
Beim bg bitte zwei Minus davor setzen, nur eines ist zu wenig!
Das wird dann wohl auch automatisch ausgetauscht…
Wenn ich das Script als nicht Root-User starte, dann bekomme ich die selbe Meldung.
Hab da gerade noch einen check eingebaut und auf github rauf geladen…

Achso „sudo su“! mit –bg kommt raus „Zeile 199: sendmail: Befehl nicht gefunden“. Wenn ich richtig liege ist das im vee-mail.sh File die Zeile „cat $TEMPFILE | sendmail -t“. Klingt für mich als wäre die Funktionalität sendmail nicht installiert?

Viele Grüße
Felix

Korrekt, postfix oder zumindest nullmailer installieren und einrichten – dann solltest du Mails bekommen! 🙂

Ich habe mich für ssmtp entschieden und kann manuell per sendmail nun erfolgreich Mails verschicken. Somit sollte nun auch vee-mail die sendmail Funktionalität verwenden können. Leider macht das vee-mail.sh Skript das nicht 🙁 Ich führe das Skript als root aus (deinen Hinweis, dass man es als root starten soll, sehe ich ;-)) und dennoch wird keine E-Mail versendet.

Ich bin aber gerade auch etwas irritiert, weil in der vee-mail.conf steht bei „the sender email address“ „EMAILTO“ dabei und bei „reciever email address“ „EMAILFROM“. Das ist doch falsch rum oder steig ich bei der Logik nicht durch?

Viele Grüße
Felix

Hallo Felix,

kein wunder wenn du verwirrt bis – war auch falsch kommentiert, hab’s umgedreht. 🙂
Danke für’s aufmerksam machen…
Ich hab’s gerade bei mir mal geprüft, ich verwende das sendmail aus dem postfix Paket – könntest du mal postfix installiern und damit testen, nur damit wir das ausschließen können!? Gut möglich dass ssmtp irgendwas nicht so schluckt wie’s da daher kommt.
Hast du in der Config auch mal den DEBUG Wert auf 1 gesetzt?
Da müsste beim Ablauf doch einiges an Meldungen daher kommen…

Wenn du den Hinweis siehst dass du’s aus root ausführen sollst, dann läuft es nicht als root und bricht an der Stelle ab. Bin jetzt ebenfalls verwirrt – den Hinweis solltest du ja nicht mehr sehen wenn’s als root gestartet wird! 🙂

Schöne Grüße
Manfred

Guten Morgen!
Also ich habe folgende Infos. ssmtp funktioniert. Das Post-Script wird erfolgreich ausgeführt und versendet tatsächlich eine E-Mail mit Inhalt 🙂 Führe ich das Skript manuell mit sudo aus, passiert gar nichts. Mit den Optionen –bg wird zumindest eine Mail gesendet, ohne –bg passiert nichts.

Aktiviere ich den Debugging Mode bekomme ich ohne –bg folgende Ausgabe:
„STARTTIME: , ENDTIME: 1582362015, STATE: 6, JOBID: {2bd4dc13-cc28-43cd-ab89-a84d8fc42a65}
DETAILS:
TARGET: 192.168.178.10/Backup/VeeamBackup/Shinobi, FST: cifs, LOGIN: felix, DOMAIN: local“

Mit –bg im Debugging Mode erhalte ich:
„STARTTIME: , ENDTIME: 1582362015, STATE: 6, JOBID: {2bd4dc13-cc28-43cd-ab89-a84d8fc42a65}
DETAILS:
TARGET: 192.168.178.10/Backup/VeeamBackup/Shinobi, FST: cifs, LOGIN: felix, DOMAIN: local
PROCESSED: 160.7 GB, READ: .3 GB, TRANSFERRED: 247960609
SPEED: 57.2, SOURCELOAD: 86, NETLOAD: 21, TARGETLOAD: 97
DURATION: 00:00:36, START: Samstag, 22 Februar 2020 09:59:39, END: Samstag, 22.02.2020 10:00:15, STIME: 09:59:39, ETIME: 10:00:15
ERRLOG:
HN: UBUNTUSHINOBI
STAT: Success
BGCOLOR: #00B050
START: Samstag, 22 Februar 2020 09:59:39
SUCCESS: 1
ERROR: 0
WARNING: 0
STIME: 09:59:39
ETIME: 10:00:15
READ: .3 GB
TRANSFERRED: 236 MB
DURATION: 00:00:36
PROCESSED: 160.7 GB
BOTTLENECK: Target
ERRLOG:
SPEED: 57.2
TARGET: 192.168.178.10/Backup/VeeamBackup/Shinobi
FST: cifs
LOGIN: felix
DOMAIN: local“

Für mich ist das Thema jetzt gegessen, die Config klappt und ich werde es so auf meine weitreren VMs ausrollen. Einzig eine kleine Frage hätte ich noch. Beim Backup Target zeigt er mir leider keine Infos an. Liegt das daran dass das ein cifs Share ist?

Danke für die Hilfe bisher und viele Grüße
Felix

Hallo Felix,

wenn du in der vee-mail.config die Werte für SMBUSER und SMBPWD korrekt gesetzt hast, dann sollte im Mail auch das Backup Target entsprechend aufscheinen und mit Daten versorgt sein!
Es wird dafür folgender Befehl verwendet:

mount -t cifs -o username=$SMBUSER,password=$SMBPWD,domain=$DOMAIN //$TARGET $MPOINT

Wobei entsprechend die Werte für die Variablen einzusetzen sind.
Eventuell fehlt dir hier noch das Paket cifs-utils!

Schöne Grüße
Manfred

Super, freut mich zu hören! 🙂
Am besten Projekt bei GitHub abonnieren, dann bleibst du am laufenden.

Schöne Grüße
Manfred

Guten Tag!

Nach soetwas habe ich gesucht. Ich habe alles wie oben beschrieben kopiert und konfiguriert. Das Problem ist ich bekomme keine E-Mail. Wenn ich echo „Test“ | mail -s „Test“ email@addresse.de eingebe bekomme ich eine E-Mail. Also müsste postfix richtig konfiguriert sein.
Was mache ich falsch?
Hoffe kannst mir weiterhelfen.

MFG Schmidt

debug

STARTTIME: , ENDTIME: 1583684657, STATE: 6, JOBID: {bf2a67c0-1b90-403e-8017-5558d8e09df7} DETAILS: TARGET: , FST: , LOGIN: , DOMAIN:

Hallo Daniel,

bei mir sieht die Debug Ausgabe wie folgt aus:

STARTTIME: , ENDTIME: 1583622993, STATE: 6, JOBID: {0ede1a62-4470-4348-ab72-3ff62404f334}
DETAILS: TARGET: srv/backup, FST: cifs, LOGIN: back, DOMAIN: dom
PROCESSED: 208.9 GB, READ: 9.0 GB, TRANSFERRED: 621512848
SPEED: 278.8, SOURCELOAD: 87, NETLOAD: 8, TARGETLOAD: 17
DURATION: 00:01:31, START: Sonntag, 08 März 2020 00:15:02, END: Sonntag, 08.03.2020 00:16:33, STIME: 00:15:02, ETIME: 00:16:33
ERRLOG:

Was hier auffällt ist dass bei dir sämtliche Job Details fehlen!
Wie schauen denn die Job Details im Veeam direkt aus, wenn du dort auf deinen Job gehst…?

Schöne Grüße
Manfred

sorry irgendwie ist etwas schiefgegangen der Debug sieht wie folgt aus:

STARTTIME: , ENDTIME: 1583684657, STATE: 6, JOBID: {bf2a67c0-1b90-403e-8017-5558d8e09df7} DETAILS: TARGET: , FST: , LOGIN: , DOMAIN:

Der Debug Log sieht für mich eigentlich OK aus!
Kommentier Mal im veeam_mail.sh Script die vorletzte Zeile mit „rm $TEMPFILE“ und schau dann ob ein solches existiert und wie es aussieht.
Du kannst es dann manuell mit „cat Dateiname|sendmail -t“ los schicken.

Bitte unbedingt für das debuggen mit „–bg“ starten!
Also:

vee-mail.sh –bg

PS: kleinen typo bei STARTTIME (hatte STARTIME drinnen stehen) habe ich in der 0.5.12 Version korrigiert. Hat aber keinerlei Auswirkungen auf den Betrieb vom Script.

irgendwie wenn ich den debug hier einfüge und absende sieht alles anders aus

STARTTIME: , ENDTIME: 1583684657, STATE: 6, JOBID: {bf2a67c0-1b90-403e-8017-5558d8e09df7} DETAILS: TARGET: , FST: , LOGIN: , DOMAIN:

Habe nun „rm $TEMPFILE“ auskommentiert leider wird kein Tempfile angelegt. Sollte dies in /opt/vee-mail geschehen?

Wenn du eine Zeile davor „echo $TEMPFILE“ rein schreibst, dann siehst du wo.
Gewöhnlich /tmp

Ist der Befehl /usr/bin/nohup vorhanden?
Der wird da an der Stelle mit ausgeführt.

ich weiß nicht warum aber wenn ich das skript in past Job einfüge läuft es nun ohne Probleme.

Danke für die prima Arbeit und Hilfe.

MFG

Ok, das ist klar – genau da gehört es hin! 🙂
Es soll ja automatisch am Ende vom Backup Job ausgeführt werden… Dafür steht der past Job.

Schreibe einen Kommentar zu Manfred Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.