From 2b3979371eaed2653e224185b31df5c75bbe4f49 Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Fri, 15 Jul 2011 15:31:56 +0000 Subject: [PATCH] =?utf8?q?Versand=20=C3=BCber=20sendmail=20eingerichtet?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.brehm-online.com/svn/my-stuff/python/PyLogrotate/trunk@298 ec8d2aa5-1599-4edb-8739-2b3a1bc399aa --- LogRotate/Config.py | 2 +- LogRotate/Handler.py | 3 +- LogRotate/Mailer.py | 116 +++++++++++ po/de/LC_MESSAGES/pylogrotate.po | 328 +++++++++++++++++-------------- po/pylogrotate.pot | 323 ++++++++++++++++-------------- 5 files changed, 466 insertions(+), 306 deletions(-) diff --git a/LogRotate/Config.py b/LogRotate/Config.py index 19bf958..907d103 100755 --- a/LogRotate/Config.py +++ b/LogRotate/Config.py @@ -247,7 +247,7 @@ class LogrotateConfigurationReader(object): @ivar: all global options @type: dict ''' - self.global_option['smtphost'] = 'localhost' + self.global_option['smtphost'] = '' ############################################# # the rest of instance variables: diff --git a/LogRotate/Handler.py b/LogRotate/Handler.py index b87399a..0dee8c8 100755 --- a/LogRotate/Handler.py +++ b/LogRotate/Handler.py @@ -515,8 +515,7 @@ class LogrotateHandler(object): if (('mailfrom' in config_reader.global_option) and (config_reader.global_option['mailfrom'])): self.mailer.from_address = config_reader.global_option['mailfrom'] - if ((config_reader.global_option['smtphost']) and - (config_reader.global_option['smtphost'] != 'localhost')): + if config_reader.global_option['smtphost']: self.mailer.smtp_host = config_reader.global_option['smtphost'] if 'smtpport' in config_reader.global_option: self.mailer.smtp_port = config_reader.global_option['smtpport'] diff --git a/LogRotate/Mailer.py b/LogRotate/Mailer.py index 3afda74..4f1c389 100755 --- a/LogRotate/Mailer.py +++ b/LogRotate/Mailer.py @@ -27,6 +27,7 @@ import socket import csv from datetime import datetime +from subprocess import Popen, PIPE import mimetypes import email.utils @@ -132,6 +133,12 @@ class LogRotateMailer(object): @type: logging.getLogger ''' + self._use_smtp = False + ''' + @ivar: flag, whether SMTP should used + @type: bool + ''' + self._sendmail = None ''' @ivar: file name of the sendmail executable @@ -312,6 +319,7 @@ class LogRotateMailer(object): _ = self.t.lgettext if value: self._smtp_host = value + self.use_smtp = True smtp_host = property( _get_smtp_host, @@ -371,6 +379,27 @@ class LogRotateMailer(object): "Use TLS for sending mails via SMTP (smarthost)" ) + #------------------------------------------------------------ + # Property 'use_smtp' + def _get_use_smtp(self): + ''' + Getter method for property 'use_smtp' + ''' + return self._use_smtp + + def _set_use_smtp(self, value): + ''' + Setter method for property 'use_smtp' + ''' + self._use_smtp = bool(value) + + use_smtp = property( + _get_use_smtp, + _set_use_smtp, + None, + "Use SMTP for sending mails instead of using sendmail" + ) + #------------------------------------------------------------ # Other Methods @@ -421,6 +450,7 @@ class LogRotateMailer(object): res['smtp_user'] = self.smtp_user res['smtp_passwd'] = self.smtp_passwd res['mailer_version'] = self.mailer_version + res['use_smtp'] = self.use_smtp return res @@ -476,6 +506,9 @@ class LogRotateMailer(object): msg = _("No execute permissions to '%s'.") % (prog) self.logger.warning(msg) + if not self.sendmail: + self.use_smtp = True + return #------------------------------------------------------- @@ -619,8 +652,91 @@ class LogRotateMailer(object): msg = _("Generated E-mail:") + "\n" + composed self.logger.debug(msg) + if (not self.use_smtp) and self.sendmail: + return self._send_per_sendmail(composed) + else: + msg = _("Sending mails via SMTP currently not possible.") + self.logger.info(msg) + return False + return True + #------------------------------------------------------- + def _send_per_sendmail(self, mail): + ''' + Sending the given mail per sendmail executable. + + Raises a LogRotateMailerError on harder errors. + + @param mail: the complete mail (header and body) as a string + @type mail: str + + @return: success of sending + @rtype: bool + ''' + + _ = self.t.lgettext + + if not self.sendmail: + msg = _("There is no sendmail executable available.") + raise LogRotateMailerError(msg) + return False + + args = [] + args.append(self.sendmail) + args.append('-t') + + msg = (_("Executing command: '%s'.") % (self.sendmail + " -t")) + self.logger.debug(msg) + + if self.test_mode: + return True + + try: + sm = Popen(args, stdin=PIPE, stdout=PIPE, + stderr=PIPE, close_fds=False) + stdout_data = None + stderr_data = None + (stdout_data, stderr_data) = sm.communicate(mail) + returncode = sm.wait() + + if self.verbose > 1: + msg = _("Got returncode: '%s'.") % (returncode) + self.logger.debug(msg) + + msg = '' + if stdout_data: + msg = _("Output on STDOUT: '%s'.") % (stdout_data) + else: + msg = _("No output on %s.") % ('STDOUT') + self.logger.debug(msg) + + if stderr_data: + msg = ((_("Error message of '%s':") % (self.sendmail)) + + "\n" + stderr_data) + self.logger.warning(msg) + else: + if self.verbose > 1: + msg = _("No output on %s.") % ('STDERR') + self.logger.debug(msg) + + if returncode < 0: + msg = _("Child was terminated by signal %d.") % (-returncode) + self.logger.error(msg) + return False + + if returncode != 0: + return False + + return True + + except OSError, e: + msg = _("Execution failed: %s") % (str(e)) + self.logger.error(msg) + return False + + return False + #======================================================================== if __name__ == "__main__": diff --git a/po/de/LC_MESSAGES/pylogrotate.po b/po/de/LC_MESSAGES/pylogrotate.po index 664fc83..577b20c 100644 --- a/po/de/LC_MESSAGES/pylogrotate.po +++ b/po/de/LC_MESSAGES/pylogrotate.po @@ -6,14 +6,13 @@ # # $Id$ # $URL$ -# -# + msgid "" msgstr "" "Project-Id-Version: pylogrotate 0.6.0\n" "Report-Msgid-Bugs-To: frank@brehm-online.com\n" -"POT-Creation-Date: 2011-07-15 13:16+0200\n" -"PO-Revision-Date: 2011-07-15 13:25+0200\n" +"POT-Creation-Date: 2011-07-15 17:29+0200\n" +"PO-Revision-Date: 2011-07-15 17:30+0200\n" "Last-Translator: Frank Brehm \n" "Language-Team: de \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" @@ -87,12 +86,12 @@ msgstr "Argumente" msgid "Called with '%s'." msgstr "Aufgerufen mit »%s«." -#: LogRotate/Handler.py:1904 +#: LogRotate/Handler.py:1903 #, python-format msgid "Check, whether logfile '%s' should rotated." msgstr "Überprüfe, ob die Logdatei »%s« rotiert werden muß." -#: LogRotate/Handler.py:1244 +#: LogRotate/Handler.py:1243 #, python-format msgid "Checking file '%s' for deleting ..." msgstr "Überprüfe Datei »%s« für Löschen ..." @@ -155,7 +154,7 @@ msgstr "" msgid "Child in script '%(name)s' was terminated by signal %(retcode)d." msgstr "Kindprozeß in Skript »%(name)s« wurde durch Signal %(retcode)d beendet." -#: LogRotate/Handler.py:1868 +#: LogRotate/Handler.py:1867 LogRotate/Mailer.py:724 #, python-format msgid "Child was terminated by signal %d." msgstr "Kindprozess wurde durch Signal %d beendet." @@ -177,17 +176,17 @@ msgstr "Allgemeine Optionen" msgid "Compress command '%s' not found." msgstr "Das Komprimierungskommando »%s« wurde nicht gefunden." -#: LogRotate/Handler.py:2143 +#: LogRotate/Handler.py:2142 #, python-format msgid "Compress options: '%s'." msgstr "Komprimierungsoptionen: »%s«." -#: LogRotate/Handler.py:2064 +#: LogRotate/Handler.py:2063 #, python-format msgid "Compressing file '%(file)s' to '%(target)s' with '%(cmd)s' ..." msgstr "Komprimiere Datei »%(file)s« zu »%(target)s« mit »%(cmd)s« ..." -#: LogRotate/Handler.py:2112 +#: LogRotate/Handler.py:2111 #, python-format msgid "" "Compressing source '%(source)s' to target '%(target)s' with command " @@ -196,8 +195,8 @@ msgstr "" "Komprimiere Quelldatei »%(source)s« zu Zieldatei »%(target)s« mit " "Kommando »%(cmd)s«." -#: LogRotate/Handler.py:2341 LogRotate/Handler.py:2408 -#: LogRotate/Handler.py:2483 +#: LogRotate/Handler.py:2340 LogRotate/Handler.py:2407 +#: LogRotate/Handler.py:2482 #, python-format msgid "" "Compressing source '%(source)s' to target '%(target)s' with module " @@ -206,11 +205,11 @@ msgstr "" "Komprimiere Quelldatei »%(source)s« zu Zieldatei »%(target)s« mit Modul " "»%(module)s«." -#: LogRotate/Handler.py:2016 +#: LogRotate/Handler.py:2015 msgid "Compression of all uncompressed logfiles ..." msgstr "Komprimierung aller unkomprimierten Logdateien ..." -#: LogRotate/Handler.py:1168 +#: LogRotate/Handler.py:1167 #, python-format msgid "Compression of file '%s' will be delayed." msgstr "Die Komprimierung der Datei »%s« wird verschoben." @@ -223,21 +222,21 @@ msgstr "Nur Überprüfung der Konfiguration." msgid "Configuration reader object structure" msgstr "Objektstruktur des Konfigurtionslesers" -#: LogRotate/Handler.py:2229 +#: LogRotate/Handler.py:2228 #, python-format msgid "Copying all file metadata to target '%s' ..." msgstr "Kopiere alle Datei-Metadaten zu Zielobjekt »%s« ..." -#: LogRotate/Handler.py:943 +#: LogRotate/Handler.py:942 #, python-format msgid "Copying file '%(from)s' => '%(to)s'." msgstr "Kopiere Datei »%(from)s« => »%(to)s«." -#: LogRotate/Handler.py:2299 +#: LogRotate/Handler.py:2298 msgid "Copying ownership from source to target." msgstr "Kopiere Besitzerschaft von Quell- zu Zielobjekt." -#: LogRotate/Handler.py:2245 +#: LogRotate/Handler.py:2244 #, python-format msgid "" "Copying permissions and timestamps from source '%(src)s' to target " @@ -285,80 +284,80 @@ msgstr "Konnte Statusdatei »%s« nicht lesen: " msgid "Couldn't detect prefix '%s'." msgstr "Konnte keinen Präfix in »%s« ermitteln." -#: LogRotate/Handler.py:585 +#: LogRotate/Handler.py:584 #, python-format msgid "Couldn't open PID file '%(file)s' for reading: %(msg)s" msgstr "Konnte PID-Datei »%(file)s« nicht zum Lesen öffnen: %(msg)s" -#: LogRotate/Handler.py:661 +#: LogRotate/Handler.py:660 #, python-format msgid "Couldn't open PID file '%(file)s' for writing: %(msg)s" msgstr "Konnte PID-Datei »%(file)s« nicht zum Schreiben öffnen: %(msg)s" -#: LogRotate/Handler.py:1796 +#: LogRotate/Handler.py:1795 #, python-format msgid "Create permissions: %(mode)4o, Owner-UID: %(uid)d, Group-GID: %(gid)d" msgstr "Erstellungsrechte: %(mode)4o, Besitzer-UID: %(uid)d, Besitzer-GID: %(gid)d" -#: LogRotate/Handler.py:1784 +#: LogRotate/Handler.py:1783 #, python-format msgid "Creating directory '%s' ..." msgstr "Erstelle Verzeichnis »%s« ..." -#: LogRotate/Handler.py:1752 +#: LogRotate/Handler.py:1751 #, python-format msgid "Creating olddir '%s' recursive ..." msgstr "Erstelle Olddir-Verzeichnis »%s« rekursiv ..." -#: LogRotate/Handler.py:1247 +#: LogRotate/Handler.py:1246 #, python-format msgid "Current count: %(count)d, current age: %(age)d seconds" msgstr "Aktuelle Anzahl: %(count)d, aktuelles Alter: %(age)d Sekunden" -#: LogRotate/Handler.py:1557 +#: LogRotate/Handler.py:1556 #, python-format msgid "Cyclic rotation from '%(from)s' to '%(to)s'." msgstr "Zyklische Rotation von »%(from)s« zu »%(to)s«." -#: LogRotate/Handler.py:1948 +#: LogRotate/Handler.py:1947 #, python-format msgid "Date of last rotation: %s." msgstr "Zeitpunkt der letzten Rotation: %s." -#: LogRotate/Handler.py:1968 +#: LogRotate/Handler.py:1967 #, python-format msgid "Date of next rotation '%(next)s' is in future, rotation not necessary." msgstr "" "Der Zeitpunkt der nächsten Rotation »%(next)s« liegt in der Zukunft, eine" " Rotation ist deshalb nicht notwendig." -#: LogRotate/Handler.py:1953 +#: LogRotate/Handler.py:1952 #, python-format msgid "Date of next rotation: %s." msgstr "Zeitpunkt der nächsten Rotation: %s." -#: LogRotate/Handler.py:1256 +#: LogRotate/Handler.py:1255 #, python-format msgid "Deleting '%s' because of too much." msgstr "Lösche Datei »%s«, weil: zuviel." -#: LogRotate/Handler.py:1266 +#: LogRotate/Handler.py:1265 #, python-format msgid "Deleting '%s' because of too old." msgstr "Lösche Datei »%s«, weil: zu alt." -#: LogRotate/Handler.py:1994 +#: LogRotate/Handler.py:1993 #, python-format msgid "Deleting file '%s' ..." msgstr "Lösche Datei »%s« ..." -#: LogRotate/Handler.py:2166 LogRotate/Handler.py:2373 -#: LogRotate/Handler.py:2448 LogRotate/Handler.py:2523 +#: LogRotate/Handler.py:2165 LogRotate/Handler.py:2372 +#: LogRotate/Handler.py:2447 LogRotate/Handler.py:2522 #, python-format msgid "Deleting uncompressed file '%s' ..." msgstr "Lösche unkomprimierte Datei »%s« ..." -#: LogRotate/Handler.py:1986 +#: LogRotate/Handler.py:1985 msgid "Deletion of all superfluid logfiles ..." msgstr "Löschen aller überflüssigen Logdateien ..." @@ -367,7 +366,7 @@ msgstr "Löschen aller überflüssigen Logdateien ..." msgid "Directive '%s' is not allowed outside of a logfile definition." msgstr "Die Direktive »%s« ist nicht außerhalb einer Logdateidefinition erlaubt." -#: LogRotate/Handler.py:1771 +#: LogRotate/Handler.py:1770 #, python-format msgid "Directory '%s' allready exists, not created." msgstr "Verzeichnis »%s« existiert bereits und wird nicht angelegt." @@ -377,14 +376,14 @@ msgstr "Verzeichnis »%s« existiert bereits und wird nicht angelegt." msgid "Directory '%s' doesn't exists." msgstr "Verzeichnis »%s« existiert nicht." -#: LogRotate/Handler.py:1780 +#: LogRotate/Handler.py:1779 #, python-format msgid "Directory '%s' exists, but is not a valid directory." msgstr "" "Das Verzeichnis »%s« existiert bereits, ist aber kein gültiges " "Verzeichnis." -#: LogRotate/Handler.py:1748 +#: LogRotate/Handler.py:1747 #, python-format msgid "Directory chain to create: '%s'." msgstr "Verzeichniskette zum Erstellen: »%s«." @@ -393,7 +392,7 @@ msgstr "Verzeichniskette zum Erstellen: »%s«." msgid "Display brief usage message and exit." msgstr "Zeigt einen kurzen Text zur Verwendung und beendet sich." -#: LogRotate/Handler.py:901 +#: LogRotate/Handler.py:900 #, python-format msgid "Do rotate logfile '%s' ..." msgstr "Rotiere Logdatei »%s« ..." @@ -406,65 +405,70 @@ msgstr "Testmodus, Kommandos werden nur simuliert (beinhaltet -v und -T)" msgid "End of a logfile definition." msgstr "Ende einer Logdateidefinition." -#: LogRotate/Handler.py:1036 LogRotate/Handler.py:2286 +#: LogRotate/Mailer.py:715 +#, python-format +msgid "Error message of '%s':" +msgstr "Fehlermeldung von »%s«:" + +#: LogRotate/Handler.py:1035 LogRotate/Handler.py:2285 #, python-format msgid "Error on chmod of '%(target)s': %(err)s" msgstr "Fehler beim Setzen der Rechte von »%(target)s«: %(err)s" -#: LogRotate/Handler.py:1061 LogRotate/Handler.py:2314 +#: LogRotate/Handler.py:1060 LogRotate/Handler.py:2313 #, python-format msgid "Error on chown of '%(file)s': %(err)s" msgstr "Fehler beim Setzen der Besitzerschaft von »%(file)s«: %(err)s" -#: LogRotate/Handler.py:1829 +#: LogRotate/Handler.py:1828 #, python-format msgid "Error on chowning directory '%(dir)s': %(err)s" msgstr "Fehler beim Ändern der Besitzrechte von Verzeichnis »%(dir)s«: %(err)s" -#: LogRotate/Handler.py:950 +#: LogRotate/Handler.py:949 #, python-format msgid "Error on copying '%(from)s' => '%(to)s': %(err)s" msgstr "Fehler beim Kopieren von »%(from)s« => »%(to)s«: %(err)s" -#: LogRotate/Handler.py:1809 +#: LogRotate/Handler.py:1808 #, python-format msgid "Error on creating directory '%(dir)s': %(err)s" msgstr "Fehler beim Erstellen von Verzeichnis »%(dir)s«: %(err)s" -#: LogRotate/Handler.py:1003 +#: LogRotate/Handler.py:1002 #, python-format msgid "Error on creating file '%(from)s': %(err)s" msgstr "Fehler beim Erstellen der Datei »%(from)s«: %(err)s" -#: LogRotate/Handler.py:924 LogRotate/Handler.py:985 +#: LogRotate/Handler.py:923 LogRotate/Handler.py:984 #, python-format msgid "Error on moving '%(from)s' => '%(to)s': %(err)s" msgstr "" "Fehler beim Umbenennen bzw. Verschieben von »%(from)s« => »%(to)s«: " "%(err)s" -#: LogRotate/Handler.py:2422 LogRotate/Handler.py:2497 +#: LogRotate/Handler.py:2421 LogRotate/Handler.py:2496 #, python-format msgid "Error on open file '%(file)s' on reading: %(err)s" msgstr "Fehler beim Öffnen der Datei »%(file)s« zum Schreiben: %(err)s" -#: LogRotate/Handler.py:2360 LogRotate/Handler.py:2432 -#: LogRotate/Handler.py:2507 +#: LogRotate/Handler.py:2359 LogRotate/Handler.py:2431 +#: LogRotate/Handler.py:2506 #, python-format msgid "Error on open file '%(file)s' on writing: %(err)s" msgstr "Fehler beim Öffnen der Datei »%(file)s« zum Schreiben: %(err)s" -#: LogRotate/Handler.py:2000 +#: LogRotate/Handler.py:1999 #, python-format msgid "Error on removing file '%(file)s': %(err)s" msgstr "Fehler beim Löschen der Datei »%(file)s«: %(err)s" -#: LogRotate/Handler.py:2268 +#: LogRotate/Handler.py:2267 #, python-format msgid "Error on setting times on target file '%(target)s': %(err)s" msgstr "Fehler beim Setzen der Zeitstempel von Zielojekt »%(target)s«: %(err)s" -#: LogRotate/Handler.py:965 +#: LogRotate/Handler.py:964 #, python-format msgid "Error on truncing file '%(from)s': %(err)s" msgstr "Fehler beim Abschneiden der Datei »%(from)s«: %(err)s" @@ -474,33 +478,33 @@ msgstr "Fehler beim Abschneiden der Datei »%(from)s«: %(err)s" msgid "Error removing PID file '%(file)s': %(msg)" msgstr "Fehler beim Löschen der PID-Datei »%(file)s«: %(msg)" -#: LogRotate/Handler.py:2173 LogRotate/Handler.py:2380 -#: LogRotate/Handler.py:2455 LogRotate/Handler.py:2530 +#: LogRotate/Handler.py:2172 LogRotate/Handler.py:2379 +#: LogRotate/Handler.py:2454 LogRotate/Handler.py:2529 #, python-format msgid "Error removing uncompressed file '%(file)s': %(msg)" msgstr "Fehler beim Löschen der unkomprimierten Datei »%(file)s«: %(msg)" -#: LogRotate/Handler.py:1857 +#: LogRotate/Handler.py:1856 LogRotate/Mailer.py:689 #, python-format msgid "Executing command: '%s'." msgstr "Führe Kommando aus: »%s«." -#: LogRotate/Handler.py:792 +#: LogRotate/Handler.py:791 #, python-format msgid "Executing firstaction script '%s' ..." msgstr "Führe Firstaction-Skript »%s« aus ..." -#: LogRotate/Handler.py:864 +#: LogRotate/Handler.py:863 #, python-format msgid "Executing lastaction script '%s' ..." msgstr "Führe Lastaction-Skript »%s« aus ..." -#: LogRotate/Handler.py:842 +#: LogRotate/Handler.py:841 #, python-format msgid "Executing postrun script '%s' ..." msgstr "Führe Postrun-Skript »%s« aus ..." -#: LogRotate/Handler.py:813 +#: LogRotate/Handler.py:812 #, python-format msgid "Executing prerun script '%s' ..." msgstr "Führe Prerun-Skript »%s« aus ..." @@ -510,7 +514,7 @@ msgstr "Führe Prerun-Skript »%s« aus ..." msgid "Executing script '%(name)s' with command: '%(cmd)s'" msgstr "Führe Skript »%(name)s« mit dem Kommando »%(cmd)s« aus." -#: LogRotate/Handler.py:1875 +#: LogRotate/Handler.py:1874 LogRotate/Mailer.py:734 #, python-format msgid "Execution failed: %s" msgstr "Ausführung ging schief: %s" @@ -524,44 +528,44 @@ msgstr "Die Ausführung des Skriptes »%(name)s« ging schief: %(error)s" msgid "Failing size definition." msgstr "Fehlende Größenangabe." -#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:523 +#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:556 #, python-format msgid "File '%s' doesn't exists." msgstr "Die Datei »%s« existiert nicht." -#: LogRotate/Handler.py:2058 +#: LogRotate/Handler.py:2057 #, python-format msgid "File '%s' has a size of 0, skip compressing." msgstr "Die Datei »%s« hat die Größe Null, übergehe Komprimierung." -#: LogRotate/Mailer.py:528 +#: LogRotate/Mailer.py:561 #, python-format msgid "File '%s' is not a regular file." msgstr "Die Datei »%s« ist keine reguläre Datei." -#: LogRotate/Handler.py:1154 +#: LogRotate/Handler.py:1153 #, python-format msgid "File '%s' seems to be compressed, skip it." msgstr "Datei »%s« scheint schon komprimiert zu sein, übergehe sie." -#: LogRotate/Handler.py:1161 +#: LogRotate/Handler.py:1160 #, python-format msgid "File '%s' will be deleted, compression unnecessary." msgstr "Die Datei »%s« wird gelöscht, keine Komprimierung notwendig." -#: LogRotate/Handler.py:2219 LogRotate/Handler.py:2237 +#: LogRotate/Handler.py:2218 LogRotate/Handler.py:2236 #, python-format msgid "File or directory '%s' doesn't exists." msgstr "Die Datei oder das Verzeichnis »%s« existiert nicht." -#: LogRotate/Handler.py:1959 +#: LogRotate/Handler.py:1958 #, python-format msgid "Filesize %(filesize)d is less than %(maxsize)d, rotation not necessary." msgstr "" "Die Dateigröße %(filesize)d ist geringer als %(maxsize)d, eine Rotation " "ist deshalb nicht notwendig." -#: LogRotate/Handler.py:1924 +#: LogRotate/Handler.py:1923 #, python-format msgid "Filesize of '%(file)s': %(size)d." msgstr "Dateigröße von »%(file)s«: %(size)d." @@ -632,15 +636,15 @@ msgstr "Logdatei »%(file)s« zum Suchmuster »%(pattern)s« gefunden." msgid "Found logfile '%(file)s' with rotation date '%(date)s'." msgstr "Logdateidefinition für »%(file)s« mit Zeitpunkt »%(date)s« gefunden." -#: LogRotate/Handler.py:1179 +#: LogRotate/Handler.py:1178 msgid "Found logfiles to compress:" msgstr "Gefundene Logdateien für Komprimierung:" -#: LogRotate/Handler.py:1274 +#: LogRotate/Handler.py:1273 msgid "Found logfiles to delete:" msgstr "Gefundene Logdateien zum Löschen:" -#: LogRotate/Handler.py:1449 +#: LogRotate/Handler.py:1448 msgid "Found old logfiles:" msgstr "Gefundene alte Logdateien:" @@ -649,7 +653,7 @@ msgstr "Gefundene alte Logdateien:" msgid "Found option '%(opt)s' with value '%(val)s'." msgstr "Option »%(opt)s« mit Wert »%(val)s« gefunden." -#: LogRotate/Handler.py:1575 +#: LogRotate/Handler.py:1574 msgid "Found rotations:" msgstr "Gefundene Rotationen:" @@ -673,7 +677,7 @@ msgstr "" "Wert »%(value)s« nach boolscher Option »%(option)s« gefunden, wird " "ignoriert." -#: LogRotate/Mailer.py:619 +#: LogRotate/Mailer.py:652 msgid "Generated E-mail:" msgstr "Generierte E-Mail:" @@ -703,12 +707,12 @@ msgstr "Mailadress-Paar gefunden:" msgid "Got returncode for script '%(name)s': '%(retcode)s'" msgstr "Habe Rückggabewert »%(retcode)s« für Skript »%(name)s« erhalten." -#: LogRotate/Handler.py:1865 +#: LogRotate/Handler.py:1864 LogRotate/Mailer.py:704 #, python-format msgid "Got returncode: '%s'." msgstr "Erhaltener Rückgabewert: »%s«." -#: LogRotate/Mailer.py:582 +#: LogRotate/Mailer.py:615 #, python-format msgid "Guessed content-type: '%(ctype)s' and encoding '%(encoding)s'." msgstr "Erratener Content-Type: »%(ctype)s«, und Encoding: »%(encoding)s«." @@ -749,7 +753,7 @@ msgstr "" msgid "Incompatible version of status file '%(file)s': %(header)s" msgstr "Inkompatible Version der Statusdatei »%(file)s«: %(header)s" -#: LogRotate/Mailer.py:459 +#: LogRotate/Mailer.py:489 msgid "Initial search for the sendmail executable ..." msgstr "Initiale Suche nach dem »sendmail«-Programm ..." @@ -793,7 +797,7 @@ msgstr "Ungültige Gruppe »%(group)s« in »%(what)s«." msgid "Invalid mail address for 'mailfrom' given: '%s'." msgstr "Ungültige Mailadresse »%s« für »mailfrom« angegeben." -#: LogRotate/Mailer.py:222 LogRotate/Mailer.py:226 +#: LogRotate/Mailer.py:229 LogRotate/Mailer.py:233 #, python-format msgid "Invalid mail address given: '%s'." msgstr "Ungültige Mailadresse übergeben: »%s«." @@ -851,31 +855,31 @@ msgstr "" "Die Logdatei »%(logfile)s« wurde bereits definiert (Datei »%(cfgfile)s«, " "Zeile %(rownum)d) und wird damit nicht noch einmal berücksichtigt." -#: LogRotate/Handler.py:745 +#: LogRotate/Handler.py:744 #, python-format msgid "Logfile '%s' WILL rotated." msgstr "Die Logdatei »%s« wird NICHT rotiert." -#: LogRotate/Handler.py:1908 +#: LogRotate/Handler.py:1907 #, python-format msgid "Logfile '%s' doesn't exists, not rotated." msgstr "Die Logdatei »%s« existiert nicht und wird demzufolge auch nicht rotiert." -#: LogRotate/Handler.py:1931 +#: LogRotate/Handler.py:1930 #, python-format msgid "Logfile '%s' has a filesize of Zero, not rotated." msgstr "" "Die Logdatei »%s« hate eine Dateigröße von Null und wird deshalb auch " "nicht rotiert." -#: LogRotate/Handler.py:1917 +#: LogRotate/Handler.py:1916 #, python-format msgid "Logfile '%s' is not a regular file, not rotated." msgstr "" "Die Logdatei »%s« ist keine reguläre Datei und wird deshalb auch nicht " "rotiert." -#: LogRotate/Handler.py:747 +#: LogRotate/Handler.py:746 #, python-format msgid "Logfile '%s' will NOT rotated." msgstr "Die Logdatei »%s« wird NICHT rotiert." @@ -908,42 +912,42 @@ msgstr "Logrotation initialisiert." msgid "Logrotating ready for work." msgstr "Logrotation ist bereit zur Arbeit." -#: LogRotate/Handler.py:788 +#: LogRotate/Handler.py:787 msgid "Looking, whether the firstaction script should be executed." msgstr "Schaue nach, ob das Firstaction-Skript ausgeführt werden soll." -#: LogRotate/Handler.py:851 +#: LogRotate/Handler.py:850 msgid "Looking, whether the lastaction script should be executed." msgstr "Schaue nach, ob das Lastaction-Skript ausgeführt werden soll." -#: LogRotate/Handler.py:829 +#: LogRotate/Handler.py:828 msgid "Looking, whether the postrun script should be executed." msgstr "Schaue nach, ob das Postrun-Skript ausgeführt werden soll." -#: LogRotate/Handler.py:803 +#: LogRotate/Handler.py:802 msgid "Looking, whether the prerun script should be executed." msgstr "Schaue nach, ob das Prerun-Skript ausgeführt werden soll." -#: LogRotate/Mailer.py:385 +#: LogRotate/Mailer.py:414 msgid "Mailer object will destroyed." msgstr "Das Mailer-Objekt wird zerstört." -#: LogRotate/Handler.py:1236 +#: LogRotate/Handler.py:1235 #, python-format msgid "Max. count rotations: %d" msgstr "Maximale Anzahl von Rotationen: %d" -#: LogRotate/Handler.py:1228 +#: LogRotate/Handler.py:1227 #, python-format msgid "Maxage: %d seconds" msgstr "Maximalalter: %d Sekunden" -#: LogRotate/Handler.py:917 LogRotate/Handler.py:974 +#: LogRotate/Handler.py:916 LogRotate/Handler.py:973 #, python-format msgid "Moving file '%(from)s' => '%(to)s'." msgstr "Benenne bzw. verschiebe Datei »%(from)s« => »%(to)s«." -#: LogRotate/Handler.py:537 +#: LogRotate/Handler.py:536 #, python-format msgid "Name of state file: '%s'" msgstr "Dateiname der Statusdatei: »%s«" @@ -958,7 +962,7 @@ msgstr "Nutzloser Inhalt am Ende einer Logdateidefinition gefunden: »%s«." msgid "Negative value %(value)s for option '%(option)s' is not allowed." msgstr "Der negative Wert %(value)s für die Option »%(option)s« ist nicht erlaubt." -#: LogRotate/Handler.py:2213 +#: LogRotate/Handler.py:2212 msgid "" "Neither 'target' nor 'statinfo' was given on calling " "_copy_file_metadata()." @@ -999,7 +1003,7 @@ msgstr "Neues Tabu-Muster: »%s«." msgid "No command to execute defined in script '%s'." msgstr "Kein Kommando zu Ausführung in Skript »%s« definiert." -#: LogRotate/Handler.py:1132 +#: LogRotate/Handler.py:1131 msgid "No compression defined." msgstr "Keine Komprimierung definiert." @@ -1007,11 +1011,11 @@ msgstr "Keine Komprimierung definiert." msgid "No configuration file given." msgstr "Keine Konfigurationsdatei angegeben." -#: LogRotate/Handler.py:1659 +#: LogRotate/Handler.py:1658 msgid "No dirname directive for olddir given." msgstr "Kein Verzeichnis für olddir-Direktive angegeben." -#: LogRotate/Mailer.py:274 LogRotate/Mailer.py:476 +#: LogRotate/Mailer.py:281 LogRotate/Mailer.py:506 #, python-format msgid "No execute permissions to '%s'." msgstr "Keinw Ausführungsrechte auf »%s«." @@ -1029,7 +1033,7 @@ msgstr "" msgid "No file or directory given in a include directive." msgstr "Keine Datei oder Verzeichnis in »include«-Direktive angegeben." -#: LogRotate/Handler.py:681 +#: LogRotate/Handler.py:680 msgid "No logfile definitions found." msgstr "Keine Logdatei-Definitionen gefunden." @@ -1046,31 +1050,36 @@ msgstr "Kein Logdateimuster am Beginn einer Logdateidefinition angegeben." msgid "No logfile pattern defined." msgstr "Keine Logdatei bzw. Dateisuchmuster definiert." -#: LogRotate/Handler.py:2020 +#: LogRotate/Handler.py:2019 msgid "No logfiles to compress found." msgstr "Keine Logdateien zum Komprimieren gefunden." -#: LogRotate/Handler.py:1990 +#: LogRotate/Handler.py:1989 msgid "No logfiles to delete found." msgstr "Keine Logdateien zum Löschen gefunden." -#: LogRotate/Handler.py:1223 +#: LogRotate/Handler.py:1222 msgid "No maxage given." msgstr "Kein Maximalalter angegeben." -#: LogRotate/Handler.py:1138 LogRotate/Handler.py:1215 +#: LogRotate/Handler.py:1137 LogRotate/Handler.py:1214 msgid "No old logfiles available." msgstr "Keine alten Logdateien ermittelt." -#: LogRotate/Handler.py:1183 +#: LogRotate/Handler.py:1182 msgid "No old logfiles to compress found." msgstr "Keine alten Logdateien für Komprimierung gefunden." -#: LogRotate/Handler.py:1278 +#: LogRotate/Handler.py:1277 msgid "No old logfiles to delete found." msgstr "Keine Logdateien zum Löschen gefunden." -#: LogRotate/Handler.py:616 +#: LogRotate/Mailer.py:711 LogRotate/Mailer.py:720 +#, python-format +msgid "No output on %s." +msgstr "Keine Ausgabe auf %s." + +#: LogRotate/Handler.py:615 #, python-format msgid "No permission to signal the process %d ..." msgstr "Kein Recht, ein Signal an Prozeß %d zu senden ..." @@ -1079,7 +1088,7 @@ msgstr "Kein Recht, ein Signal an Prozeß %d zu senden ..." msgid "No script name given in a script directive." msgstr "Kein Scriptname in Scriptdirektive angegeben." -#: LogRotate/Handler.py:599 +#: LogRotate/Handler.py:598 #, python-format msgid "No useful information found in PID file '%(file)s': '%(line)s'" msgstr "Keine sinnvolle Information in PID-Datei »%(file)s« gefunden: »%(line)s«" @@ -1096,29 +1105,29 @@ msgstr "" msgid "No write access to status file '%s'." msgstr "Kein Schreibzugriff auf Statusdatei »%s«." -#: LogRotate/Handler.py:1729 +#: LogRotate/Handler.py:1728 #, python-format msgid "No write and execute access to olddir '%s'." msgstr "Keine Schreib- und Ausführungsrechte auf das Olddir-Verzeichnis »%s«." -#: LogRotate/Handler.py:1723 +#: LogRotate/Handler.py:1722 #, python-format msgid "Olddir '%s' allready exists, not created." msgstr "Das Olddir-Verzeichnis »%s« existiert bereits und wird nicht angelegt." -#: LogRotate/Handler.py:1737 +#: LogRotate/Handler.py:1736 #, python-format msgid "Olddir '%s' exists, but is not a valid directory." msgstr "" "Das Olddir-Verzeichnis »%s« existiert bereits, ist aber kein gültiges " "Verzeichnis." -#: LogRotate/Handler.py:1715 +#: LogRotate/Handler.py:1714 #, python-format msgid "Olddir name is now '%s'." msgstr "Der Olddir-Name ist jetzt »%s«." -#: LogRotate/Mailer.py:282 +#: LogRotate/Mailer.py:289 #, python-format msgid "Only absolute path allowed for a sendmail command: '%s'." msgstr "Für das »sendmail«-Kommando sind nur absolute Pfadangaben erlaubt: »%s«." @@ -1143,8 +1152,8 @@ msgstr "" "Nur ein Scriptname in einer Scriptdirektive erlaubt, der erste wird " "verwendet." -#: LogRotate/Handler.py:1045 LogRotate/Handler.py:1816 -#: LogRotate/Handler.py:2303 +#: LogRotate/Handler.py:1044 LogRotate/Handler.py:1815 +#: LogRotate/Handler.py:2302 msgid "Only root may execute chown()." msgstr "Nur root darf Besitzrechte ändern." @@ -1210,12 +1219,17 @@ msgstr "Die Option »taboo%s« ist innerhalb einer Logfiledefinition nicht erlau msgid "Options" msgstr "Optionen" -#: LogRotate/Handler.py:570 +#: LogRotate/Mailer.py:709 +#, python-format +msgid "Output on STDOUT: '%s'." +msgstr "Ausgabe auf STDOUT: »%s«." + +#: LogRotate/Handler.py:569 #, python-format msgid "PID file '%s' doesn't exists." msgstr "PID-Datei »%s« existiert nicht." -#: LogRotate/Handler.py:547 +#: LogRotate/Handler.py:546 #, python-format msgid "PID file: '%s'" msgstr "PID-Datei: »%s«" @@ -1241,7 +1255,7 @@ msgstr "Pfad zur Statusdatei (im Unterschied zur Konfiguration)" msgid "Pattern '%s'." msgstr "Suchmuster »%s«." -#: LogRotate/Handler.py:740 +#: LogRotate/Handler.py:739 #, python-format msgid "Performing logfile '%s' ..." msgstr "Verarbeite Logdatei »%s« ..." @@ -1261,17 +1275,17 @@ msgstr "Die Rechte auf das Verzeichnis »%s« sind okay." msgid "Postrotate script '%s' not found." msgstr "Das Postrotate-Skript »%s« wurde nicht gefunden." -#: LogRotate/Handler.py:612 +#: LogRotate/Handler.py:611 #, python-format msgid "Process with PID %d anonymous died." msgstr "Prozeß mit der PID %d ist unbekannterweise gestorben." -#: LogRotate/Handler.py:624 +#: LogRotate/Handler.py:623 #, python-format msgid "Process with PID %d is allready running." msgstr "Prozeß mit der PID %d läuft noch." -#: LogRotate/Handler.py:579 +#: LogRotate/Handler.py:578 #, python-format msgid "Reading PID file '%s' ..." msgstr "Lese PID-Datei »%s« ..." @@ -1286,7 +1300,7 @@ msgstr "Lese Konfiguration aus »%s« ..." msgid "Reading status file '%s' ..." msgstr "Lese Statusdatei »%s« ..." -#: LogRotate/Handler.py:996 +#: LogRotate/Handler.py:995 #, python-format msgid "Recreating file '%s'." msgstr "Erstelle Datei »%s«." @@ -1335,12 +1349,12 @@ msgstr "Rest nach Wochenermittlung: »%s«." msgid "Rest after years: '%s'." msgstr "Rest nach Jahresermittlung: »%s«." -#: LogRotate/Handler.py:1546 +#: LogRotate/Handler.py:1545 #, python-format msgid "Resulting target '%s' exists, retrieve cyclic rotation ..." msgstr "Resultierende Zieldatei »%s« existiert, ermittle zyklische Rotation ..." -#: LogRotate/Handler.py:1498 +#: LogRotate/Handler.py:1497 #, python-format msgid "" "Retrieving all movings and rotations for logfile '%(file)s' to target " @@ -1349,20 +1363,20 @@ msgstr "" "Ermittle alle Umbenennungen und Rotationen für Logdatei »%(file)s« zu " "Zieldatei »%(target)s« ..." -#: LogRotate/Handler.py:1312 +#: LogRotate/Handler.py:1311 #, python-format msgid "Retrieving all old logfiles for file '%s' ..." msgstr "Ermittle alle alten Laogdateien zu Datei »%s« ..." -#: LogRotate/Handler.py:1125 +#: LogRotate/Handler.py:1124 msgid "Retrieving logfiles to compress ..." msgstr "Ermittle zu komprimierende Logdateien ..." -#: LogRotate/Handler.py:1208 +#: LogRotate/Handler.py:1207 msgid "Retrieving logfiles to delete ..." msgstr "Ermittle zu löschende Logdateien ..." -#: LogRotate/Handler.py:1603 +#: LogRotate/Handler.py:1602 #, python-format msgid "Retrieving the name of the rotated file of '%s' ..." msgstr "Ermittle den Namen der Rotierten Datei von »%s« ..." @@ -1371,12 +1385,12 @@ msgstr "Ermittle den Namen der Rotierten Datei von »%s« ..." msgid "Rotates, compresses and mails system logs." msgstr "Rotiert, komprimiert und versended Systemlogdateien per Mail." -#: LogRotate/Handler.py:1938 +#: LogRotate/Handler.py:1937 #, python-format msgid "Rotating of '%s' because of force mode." msgstr "Rotation von »%s« wegen Zwangs-Modus." -#: LogRotate/Handler.py:729 +#: LogRotate/Handler.py:728 msgid "Rotating of logfile definition:" msgstr "Rotation der Logdatei-Definition:" @@ -1385,7 +1399,7 @@ msgstr "Rotation der Logdatei-Definition:" msgid "Script name '%s' is allready declared, it will be overwritten." msgstr "Der Scriptname »%s« wurde bereits deklariert und wird überschrieben." -#: LogRotate/Handler.py:1437 +#: LogRotate/Handler.py:1436 #, python-format msgid "Search for pattern '%s' ..." msgstr "Suche nach Muster »%s« ..." @@ -1395,12 +1409,16 @@ msgstr "Suche nach Muster »%s« ..." msgid "Search path '%s' doesn't exists or is not a directory." msgstr "Der Suchpfad »%s« existiert entweder nicht oder ist kein Verzeichnis." -#: LogRotate/Mailer.py:539 +#: LogRotate/Mailer.py:572 #, python-format msgid "Sending mail with attached file '%(file)s' to: %(rcpt)s" msgstr "Verschicke Mail mit angehängter Datei »%(file)s« an: %(rcpt)s" -#: LogRotate/Mailer.py:278 +#: LogRotate/Mailer.py:658 +msgid "Sending mails via SMTP currently not possible." +msgstr "Der Mailversand über SMTP ist gegenwärtig noch nicht verfügbar." + +#: LogRotate/Mailer.py:285 #, python-format msgid "Sendmail command '%s' not found." msgstr "Das »sendmail«-Kommando »%s« wurde nicht gefunden." @@ -1410,7 +1428,7 @@ msgstr "Das »sendmail«-Kommando »%s« wurde nicht gefunden." msgid "Senseless option value '%(value)s' after '%(option)s'." msgstr "Sinnloser Optionswert »%(value)s« nach »%(option)s«." -#: LogRotate/Mailer.py:232 +#: LogRotate/Mailer.py:239 #, python-format msgid "Set sender mail address to: '%s'." msgstr "Setze Absender-Mailadresse auf: »%s«." @@ -1433,7 +1451,7 @@ msgstr "Setze »%(what)s« in »%(directive)s« auf %(to)f Tage." msgid "Setting '%(what)s' in '%(directive)s' to %(to)s." msgstr "Setze »%(what)s« in »%(directive)s« auf %(to)s." -#: LogRotate/Handler.py:2262 +#: LogRotate/Handler.py:2261 #, python-format msgid "Setting atime and mtime of target '%s'." msgstr "Setze Atime und Mtime von Zielobjekt »%s«." @@ -1463,12 +1481,12 @@ msgstr "Setze Mailadresse in »%(directive)s« auf »%(addr)s«." msgid "Setting mailfirst in '%(directive)s' to '%(value)s'." msgstr "Setze mailfirst in »%(directive)s« auf »%(value)s«." -#: LogRotate/Handler.py:1051 +#: LogRotate/Handler.py:1050 #, python-format msgid "Setting ownership of '%(file)s' to uid %(uid)d and gid %(gid)d." msgstr "Setze Besitzerschaft von »%(file)s« auf UID %(uid)d und GID %(gid)d." -#: LogRotate/Handler.py:1028 LogRotate/Handler.py:2278 +#: LogRotate/Handler.py:1027 LogRotate/Handler.py:2277 #, python-format msgid "Setting permissions of '%(target)s' to %(mode)4o." msgstr "Setze Rechte von »%(target)s« auf %(mode)4o." @@ -1500,12 +1518,12 @@ msgstr "Shred Befehl nicht gefunden, shred wird deaktiviert." msgid "Skip subdirectory '%s' in including." msgstr "Übergehe Unterverzeichnis »%s« bei Einbindung." -#: LogRotate/Handler.py:2046 +#: LogRotate/Handler.py:2045 #, python-format msgid "Source file '%(source)s' and target file '%(target)s' are the same file." msgstr "Die Quelldatei »%(source)s« und die Zieldatei »%(target)s« sind identisch." -#: LogRotate/Handler.py:2038 +#: LogRotate/Handler.py:2037 #, python-format msgid "Source file '%s' for compression doesn't exists." msgstr "Die Quelldatei »%s« für Komprimierung existiert nicht." @@ -1543,11 +1561,11 @@ msgstr "Beginn einer Logdatei-Definition." msgid "Starting a new log directive with default values." msgstr "Beginn einer neuen Logdateidefinition mit Vorgabewerten." -#: LogRotate/Handler.py:685 +#: LogRotate/Handler.py:684 msgid "Starting underlying rotation ..." msgstr "Starte eigentliche Rotation ..." -#: LogRotate/Handler.py:700 +#: LogRotate/Handler.py:699 #, python-format msgid "State of script '%s':" msgstr "Status des Skripts »%s«:" @@ -1566,11 +1584,11 @@ msgstr "Die Statusdatei »%s« is keine reguläre Datei." msgid "Status file object will destroyed." msgstr "Statusdatei-Objekt wird zerstört." -#: LogRotate/Handler.py:2548 +#: LogRotate/Handler.py:2547 msgid "Struct files2send:" msgstr "Sruktur files2send:" -#: LogRotate/Handler.py:2124 LogRotate/Handler.py:2134 +#: LogRotate/Handler.py:2123 LogRotate/Handler.py:2133 #, python-format msgid "Substituting '%(what)s' in compressoptions with '%(by)s'." msgstr "Ersetze »%(what)s« in den Komprimierungsoptionen durch »%(by)s«." @@ -1606,7 +1624,7 @@ msgstr "" "Syntaxfehler: unausgeglichene Zahl von öffnenden und schließenden " "Klammern." -#: LogRotate/Handler.py:2155 +#: LogRotate/Handler.py:2154 #, python-format msgid "" "Target '%s' of compression doesn't exists after executing compression " @@ -1615,7 +1633,7 @@ msgstr "" "Die Zieldatei »%s« der Komprimierung existiert nicht nach Ausführung des " "Komprimierungskommandos." -#: LogRotate/Handler.py:2051 +#: LogRotate/Handler.py:2050 #, python-format msgid "Target file '%s' for compression allready exists." msgstr "Die Zieldatei der Komprimierung »%s« existiert bereits." @@ -1624,31 +1642,35 @@ msgstr "Die Zieldatei der Komprimierung »%s« existiert bereits." msgid "Test mode is ON." msgstr "Testmodus ist AN." -#: LogRotate/Mailer.py:465 +#: LogRotate/Mailer.py:495 #, python-format msgid "Testing for '%s' ..." msgstr "Teste auf »%s« ..." -#: LogRotate/Handler.py:575 +#: LogRotate/Handler.py:574 #, python-format msgid "Testmode, skip test of PID file '%s'." msgstr "Testmodus, übergehe Test der PID-Datei »%s«." -#: LogRotate/Handler.py:647 +#: LogRotate/Handler.py:646 #, python-format msgid "Testmode, skip writing of PID file '%s'." msgstr "Testmodus, übergehe Schreiben der PID-Datei »%s«." -#: LogRotate/Mailer.py:209 +#: LogRotate/Mailer.py:216 msgid "The 'From' address may not set to None." msgstr "Die »From«-Adresse darf nicht auf »None« gesetzt werden." +#: LogRotate/Mailer.py:681 +msgid "There is no sendmail executable available." +msgstr "Das sendmail-Programm ist nicht verfügbar." + #: LogRotate/Common.py:438 #, python-format msgid "Total %f days found." msgstr "Insgesamt %f Tage gefunden." -#: LogRotate/Handler.py:958 +#: LogRotate/Handler.py:957 #, python-format msgid "Truncating file '%s'." msgstr "Schneide Datei »%s« ab." @@ -1658,12 +1680,12 @@ msgstr "Schneide Datei »%s« ab." msgid "Try reading configuration from '%s' ..." msgstr "Versuche, die Konfiguration aus »%s« zu lesen ..." -#: LogRotate/Handler.py:1766 +#: LogRotate/Handler.py:1765 #, python-format msgid "Try to create directory '%s' ..." msgstr "Versuche, Verzeichnis »%s« zu erstellen ..." -#: LogRotate/Handler.py:606 +#: LogRotate/Handler.py:605 #, python-format msgid "Trying check for process with PID %d ..." msgstr "Versuche, Prozeß mit der PID %d zu überprüfen ..." @@ -1703,7 +1725,7 @@ msgstr "Versuche, »olddir«-Erstellungsnutzer »%s« festzustellen ..." msgid "Trying to include object '%s' ..." msgstr "Versuche, Objekt »%s« einzubinden ..." -#: LogRotate/Handler.py:620 +#: LogRotate/Handler.py:619 #, python-format msgid "Unknown error: '%s'." msgstr "Unbekannter Fehler: »%s«." @@ -1718,24 +1740,24 @@ msgstr "Unbekannte Option »%s«." msgid "Unsupported option '%s'." msgstr "Nicht unterstützte Option »%s«." -#: LogRotate/Handler.py:1625 +#: LogRotate/Handler.py:1624 #, python-format msgid "Using '%(target)s' as target for rotation of logfile '%(logfile)s'." msgstr "" "Verwende »%(target)s« als Zieldatei der Rotation von Logdatei " "»%(logfile)s«." -#: LogRotate/Mailer.py:269 LogRotate/Mailer.py:471 +#: LogRotate/Mailer.py:276 LogRotate/Mailer.py:501 #, python-format msgid "Using '%s' as the sendmail command." msgstr "Verwende »%s« als »sendmail«-Kommando." -#: LogRotate/Mailer.py:440 +#: LogRotate/Mailer.py:470 #, python-format msgid "Using <%s> as the sender mail address." msgstr "Verwende <%s> als Absender-Mailadresse." -#: LogRotate/Handler.py:1618 +#: LogRotate/Handler.py:1617 #, python-format msgid "Using date extension '.%(ext)s' from pattern '%(pattern)s'." msgstr "Verwende Datumserweiterung ».%(ext)s« aus Muster »%(pattern)s«." @@ -1762,7 +1784,7 @@ msgstr "Ausführlichkeitmodus is AN auf Level: %d" msgid "What the hell is this: '%s'." msgstr "Was zum Teufel ist das denn: »%s«?!" -#: LogRotate/Handler.py:652 +#: LogRotate/Handler.py:651 #, python-format msgid "Writing PID file '%s' ..." msgstr "Schreibe PID-Datei »%s« ..." diff --git a/po/pylogrotate.pot b/po/pylogrotate.pot index 110616a..3d5594c 100644 --- a/po/pylogrotate.pot +++ b/po/pylogrotate.pot @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: pylogrotate 0.6.0\n" "Report-Msgid-Bugs-To: frank@brehm-online.com\n" -"POT-Creation-Date: 2011-07-15 13:16+0200\n" +"POT-Creation-Date: 2011-07-15 17:29+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -83,12 +83,12 @@ msgstr "" msgid "Called with '%s'." msgstr "" -#: LogRotate/Handler.py:1904 +#: LogRotate/Handler.py:1903 #, python-format msgid "Check, whether logfile '%s' should rotated." msgstr "" -#: LogRotate/Handler.py:1244 +#: LogRotate/Handler.py:1243 #, python-format msgid "Checking file '%s' for deleting ..." msgstr "" @@ -149,7 +149,7 @@ msgstr "" msgid "Child in script '%(name)s' was terminated by signal %(retcode)d." msgstr "" -#: LogRotate/Handler.py:1868 +#: LogRotate/Handler.py:1867 LogRotate/Mailer.py:724 #, python-format msgid "Child was terminated by signal %d." msgstr "" @@ -169,36 +169,36 @@ msgstr "" msgid "Compress command '%s' not found." msgstr "" -#: LogRotate/Handler.py:2143 +#: LogRotate/Handler.py:2142 #, python-format msgid "Compress options: '%s'." msgstr "" -#: LogRotate/Handler.py:2064 +#: LogRotate/Handler.py:2063 #, python-format msgid "Compressing file '%(file)s' to '%(target)s' with '%(cmd)s' ..." msgstr "" -#: LogRotate/Handler.py:2112 +#: LogRotate/Handler.py:2111 #, python-format msgid "" "Compressing source '%(source)s' to target '%(target)s' with command " "'%(cmd)s'." msgstr "" -#: LogRotate/Handler.py:2341 LogRotate/Handler.py:2408 -#: LogRotate/Handler.py:2483 +#: LogRotate/Handler.py:2340 LogRotate/Handler.py:2407 +#: LogRotate/Handler.py:2482 #, python-format msgid "" "Compressing source '%(source)s' to target '%(target)s' with module " "'%(module)s'." msgstr "" -#: LogRotate/Handler.py:2016 +#: LogRotate/Handler.py:2015 msgid "Compression of all uncompressed logfiles ..." msgstr "" -#: LogRotate/Handler.py:1168 +#: LogRotate/Handler.py:1167 #, python-format msgid "Compression of file '%s' will be delayed." msgstr "" @@ -211,21 +211,21 @@ msgstr "" msgid "Configuration reader object structure" msgstr "" -#: LogRotate/Handler.py:2229 +#: LogRotate/Handler.py:2228 #, python-format msgid "Copying all file metadata to target '%s' ..." msgstr "" -#: LogRotate/Handler.py:943 +#: LogRotate/Handler.py:942 #, python-format msgid "Copying file '%(from)s' => '%(to)s'." msgstr "" -#: LogRotate/Handler.py:2299 +#: LogRotate/Handler.py:2298 msgid "Copying ownership from source to target." msgstr "" -#: LogRotate/Handler.py:2245 +#: LogRotate/Handler.py:2244 #, python-format msgid "" "Copying permissions and timestamps from source '%(src)s' to target " @@ -271,78 +271,78 @@ msgstr "" msgid "Couldn't detect prefix '%s'." msgstr "" -#: LogRotate/Handler.py:585 +#: LogRotate/Handler.py:584 #, python-format msgid "Couldn't open PID file '%(file)s' for reading: %(msg)s" msgstr "" -#: LogRotate/Handler.py:661 +#: LogRotate/Handler.py:660 #, python-format msgid "Couldn't open PID file '%(file)s' for writing: %(msg)s" msgstr "" -#: LogRotate/Handler.py:1796 +#: LogRotate/Handler.py:1795 #, python-format msgid "Create permissions: %(mode)4o, Owner-UID: %(uid)d, Group-GID: %(gid)d" msgstr "" -#: LogRotate/Handler.py:1784 +#: LogRotate/Handler.py:1783 #, python-format msgid "Creating directory '%s' ..." msgstr "" -#: LogRotate/Handler.py:1752 +#: LogRotate/Handler.py:1751 #, python-format msgid "Creating olddir '%s' recursive ..." msgstr "" -#: LogRotate/Handler.py:1247 +#: LogRotate/Handler.py:1246 #, python-format msgid "Current count: %(count)d, current age: %(age)d seconds" msgstr "" -#: LogRotate/Handler.py:1557 +#: LogRotate/Handler.py:1556 #, python-format msgid "Cyclic rotation from '%(from)s' to '%(to)s'." msgstr "" -#: LogRotate/Handler.py:1948 +#: LogRotate/Handler.py:1947 #, python-format msgid "Date of last rotation: %s." msgstr "" -#: LogRotate/Handler.py:1968 +#: LogRotate/Handler.py:1967 #, python-format msgid "Date of next rotation '%(next)s' is in future, rotation not necessary." msgstr "" -#: LogRotate/Handler.py:1953 +#: LogRotate/Handler.py:1952 #, python-format msgid "Date of next rotation: %s." msgstr "" -#: LogRotate/Handler.py:1256 +#: LogRotate/Handler.py:1255 #, python-format msgid "Deleting '%s' because of too much." msgstr "" -#: LogRotate/Handler.py:1266 +#: LogRotate/Handler.py:1265 #, python-format msgid "Deleting '%s' because of too old." msgstr "" -#: LogRotate/Handler.py:1994 +#: LogRotate/Handler.py:1993 #, python-format msgid "Deleting file '%s' ..." msgstr "" -#: LogRotate/Handler.py:2166 LogRotate/Handler.py:2373 -#: LogRotate/Handler.py:2448 LogRotate/Handler.py:2523 +#: LogRotate/Handler.py:2165 LogRotate/Handler.py:2372 +#: LogRotate/Handler.py:2447 LogRotate/Handler.py:2522 #, python-format msgid "Deleting uncompressed file '%s' ..." msgstr "" -#: LogRotate/Handler.py:1986 +#: LogRotate/Handler.py:1985 msgid "Deletion of all superfluid logfiles ..." msgstr "" @@ -351,7 +351,7 @@ msgstr "" msgid "Directive '%s' is not allowed outside of a logfile definition." msgstr "" -#: LogRotate/Handler.py:1771 +#: LogRotate/Handler.py:1770 #, python-format msgid "Directory '%s' allready exists, not created." msgstr "" @@ -361,12 +361,12 @@ msgstr "" msgid "Directory '%s' doesn't exists." msgstr "" -#: LogRotate/Handler.py:1780 +#: LogRotate/Handler.py:1779 #, python-format msgid "Directory '%s' exists, but is not a valid directory." msgstr "" -#: LogRotate/Handler.py:1748 +#: LogRotate/Handler.py:1747 #, python-format msgid "Directory chain to create: '%s'." msgstr "" @@ -375,7 +375,7 @@ msgstr "" msgid "Display brief usage message and exit." msgstr "" -#: LogRotate/Handler.py:901 +#: LogRotate/Handler.py:900 #, python-format msgid "Do rotate logfile '%s' ..." msgstr "" @@ -388,63 +388,68 @@ msgstr "" msgid "End of a logfile definition." msgstr "" -#: LogRotate/Handler.py:1036 LogRotate/Handler.py:2286 +#: LogRotate/Mailer.py:715 +#, python-format +msgid "Error message of '%s':" +msgstr "" + +#: LogRotate/Handler.py:1035 LogRotate/Handler.py:2285 #, python-format msgid "Error on chmod of '%(target)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:1061 LogRotate/Handler.py:2314 +#: LogRotate/Handler.py:1060 LogRotate/Handler.py:2313 #, python-format msgid "Error on chown of '%(file)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:1829 +#: LogRotate/Handler.py:1828 #, python-format msgid "Error on chowning directory '%(dir)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:950 +#: LogRotate/Handler.py:949 #, python-format msgid "Error on copying '%(from)s' => '%(to)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:1809 +#: LogRotate/Handler.py:1808 #, python-format msgid "Error on creating directory '%(dir)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:1003 +#: LogRotate/Handler.py:1002 #, python-format msgid "Error on creating file '%(from)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:924 LogRotate/Handler.py:985 +#: LogRotate/Handler.py:923 LogRotate/Handler.py:984 #, python-format msgid "Error on moving '%(from)s' => '%(to)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:2422 LogRotate/Handler.py:2497 +#: LogRotate/Handler.py:2421 LogRotate/Handler.py:2496 #, python-format msgid "Error on open file '%(file)s' on reading: %(err)s" msgstr "" -#: LogRotate/Handler.py:2360 LogRotate/Handler.py:2432 -#: LogRotate/Handler.py:2507 +#: LogRotate/Handler.py:2359 LogRotate/Handler.py:2431 +#: LogRotate/Handler.py:2506 #, python-format msgid "Error on open file '%(file)s' on writing: %(err)s" msgstr "" -#: LogRotate/Handler.py:2000 +#: LogRotate/Handler.py:1999 #, python-format msgid "Error on removing file '%(file)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:2268 +#: LogRotate/Handler.py:2267 #, python-format msgid "Error on setting times on target file '%(target)s': %(err)s" msgstr "" -#: LogRotate/Handler.py:965 +#: LogRotate/Handler.py:964 #, python-format msgid "Error on truncing file '%(from)s': %(err)s" msgstr "" @@ -454,33 +459,33 @@ msgstr "" msgid "Error removing PID file '%(file)s': %(msg)" msgstr "" -#: LogRotate/Handler.py:2173 LogRotate/Handler.py:2380 -#: LogRotate/Handler.py:2455 LogRotate/Handler.py:2530 +#: LogRotate/Handler.py:2172 LogRotate/Handler.py:2379 +#: LogRotate/Handler.py:2454 LogRotate/Handler.py:2529 #, python-format msgid "Error removing uncompressed file '%(file)s': %(msg)" msgstr "" -#: LogRotate/Handler.py:1857 +#: LogRotate/Handler.py:1856 LogRotate/Mailer.py:689 #, python-format msgid "Executing command: '%s'." msgstr "" -#: LogRotate/Handler.py:792 +#: LogRotate/Handler.py:791 #, python-format msgid "Executing firstaction script '%s' ..." msgstr "" -#: LogRotate/Handler.py:864 +#: LogRotate/Handler.py:863 #, python-format msgid "Executing lastaction script '%s' ..." msgstr "" -#: LogRotate/Handler.py:842 +#: LogRotate/Handler.py:841 #, python-format msgid "Executing postrun script '%s' ..." msgstr "" -#: LogRotate/Handler.py:813 +#: LogRotate/Handler.py:812 #, python-format msgid "Executing prerun script '%s' ..." msgstr "" @@ -490,7 +495,7 @@ msgstr "" msgid "Executing script '%(name)s' with command: '%(cmd)s'" msgstr "" -#: LogRotate/Handler.py:1875 +#: LogRotate/Handler.py:1874 LogRotate/Mailer.py:734 #, python-format msgid "Execution failed: %s" msgstr "" @@ -504,42 +509,42 @@ msgstr "" msgid "Failing size definition." msgstr "" -#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:523 +#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:556 #, python-format msgid "File '%s' doesn't exists." msgstr "" -#: LogRotate/Handler.py:2058 +#: LogRotate/Handler.py:2057 #, python-format msgid "File '%s' has a size of 0, skip compressing." msgstr "" -#: LogRotate/Mailer.py:528 +#: LogRotate/Mailer.py:561 #, python-format msgid "File '%s' is not a regular file." msgstr "" -#: LogRotate/Handler.py:1154 +#: LogRotate/Handler.py:1153 #, python-format msgid "File '%s' seems to be compressed, skip it." msgstr "" -#: LogRotate/Handler.py:1161 +#: LogRotate/Handler.py:1160 #, python-format msgid "File '%s' will be deleted, compression unnecessary." msgstr "" -#: LogRotate/Handler.py:2219 LogRotate/Handler.py:2237 +#: LogRotate/Handler.py:2218 LogRotate/Handler.py:2236 #, python-format msgid "File or directory '%s' doesn't exists." msgstr "" -#: LogRotate/Handler.py:1959 +#: LogRotate/Handler.py:1958 #, python-format msgid "Filesize %(filesize)d is less than %(maxsize)d, rotation not necessary." msgstr "" -#: LogRotate/Handler.py:1924 +#: LogRotate/Handler.py:1923 #, python-format msgid "Filesize of '%(file)s': %(size)d." msgstr "" @@ -610,15 +615,15 @@ msgstr "" msgid "Found logfile '%(file)s' with rotation date '%(date)s'." msgstr "" -#: LogRotate/Handler.py:1179 +#: LogRotate/Handler.py:1178 msgid "Found logfiles to compress:" msgstr "" -#: LogRotate/Handler.py:1274 +#: LogRotate/Handler.py:1273 msgid "Found logfiles to delete:" msgstr "" -#: LogRotate/Handler.py:1449 +#: LogRotate/Handler.py:1448 msgid "Found old logfiles:" msgstr "" @@ -627,7 +632,7 @@ msgstr "" msgid "Found option '%(opt)s' with value '%(val)s'." msgstr "" -#: LogRotate/Handler.py:1575 +#: LogRotate/Handler.py:1574 msgid "Found rotations:" msgstr "" @@ -647,7 +652,7 @@ msgstr "" msgid "Found value '%(value)s' behind the boolean option '%(option)s', ignoring." msgstr "" -#: LogRotate/Mailer.py:619 +#: LogRotate/Mailer.py:652 msgid "Generated E-mail:" msgstr "" @@ -677,12 +682,12 @@ msgstr "" msgid "Got returncode for script '%(name)s': '%(retcode)s'" msgstr "" -#: LogRotate/Handler.py:1865 +#: LogRotate/Handler.py:1864 LogRotate/Mailer.py:704 #, python-format msgid "Got returncode: '%s'." msgstr "" -#: LogRotate/Mailer.py:582 +#: LogRotate/Mailer.py:615 #, python-format msgid "Guessed content-type: '%(ctype)s' and encoding '%(encoding)s'." msgstr "" @@ -721,7 +726,7 @@ msgstr "" msgid "Incompatible version of status file '%(file)s': %(header)s" msgstr "" -#: LogRotate/Mailer.py:459 +#: LogRotate/Mailer.py:489 msgid "Initial search for the sendmail executable ..." msgstr "" @@ -765,7 +770,7 @@ msgstr "" msgid "Invalid mail address for 'mailfrom' given: '%s'." msgstr "" -#: LogRotate/Mailer.py:222 LogRotate/Mailer.py:226 +#: LogRotate/Mailer.py:229 LogRotate/Mailer.py:233 #, python-format msgid "Invalid mail address given: '%s'." msgstr "" @@ -821,27 +826,27 @@ msgid "" "%(rownum)d) and so not taken a second time." msgstr "" -#: LogRotate/Handler.py:745 +#: LogRotate/Handler.py:744 #, python-format msgid "Logfile '%s' WILL rotated." msgstr "" -#: LogRotate/Handler.py:1908 +#: LogRotate/Handler.py:1907 #, python-format msgid "Logfile '%s' doesn't exists, not rotated." msgstr "" -#: LogRotate/Handler.py:1931 +#: LogRotate/Handler.py:1930 #, python-format msgid "Logfile '%s' has a filesize of Zero, not rotated." msgstr "" -#: LogRotate/Handler.py:1917 +#: LogRotate/Handler.py:1916 #, python-format msgid "Logfile '%s' is not a regular file, not rotated." msgstr "" -#: LogRotate/Handler.py:747 +#: LogRotate/Handler.py:746 #, python-format msgid "Logfile '%s' will NOT rotated." msgstr "" @@ -872,42 +877,42 @@ msgstr "" msgid "Logrotating ready for work." msgstr "" -#: LogRotate/Handler.py:788 +#: LogRotate/Handler.py:787 msgid "Looking, whether the firstaction script should be executed." msgstr "" -#: LogRotate/Handler.py:851 +#: LogRotate/Handler.py:850 msgid "Looking, whether the lastaction script should be executed." msgstr "" -#: LogRotate/Handler.py:829 +#: LogRotate/Handler.py:828 msgid "Looking, whether the postrun script should be executed." msgstr "" -#: LogRotate/Handler.py:803 +#: LogRotate/Handler.py:802 msgid "Looking, whether the prerun script should be executed." msgstr "" -#: LogRotate/Mailer.py:385 +#: LogRotate/Mailer.py:414 msgid "Mailer object will destroyed." msgstr "" -#: LogRotate/Handler.py:1236 +#: LogRotate/Handler.py:1235 #, python-format msgid "Max. count rotations: %d" msgstr "" -#: LogRotate/Handler.py:1228 +#: LogRotate/Handler.py:1227 #, python-format msgid "Maxage: %d seconds" msgstr "" -#: LogRotate/Handler.py:917 LogRotate/Handler.py:974 +#: LogRotate/Handler.py:916 LogRotate/Handler.py:973 #, python-format msgid "Moving file '%(from)s' => '%(to)s'." msgstr "" -#: LogRotate/Handler.py:537 +#: LogRotate/Handler.py:536 #, python-format msgid "Name of state file: '%s'" msgstr "" @@ -922,7 +927,7 @@ msgstr "" msgid "Negative value %(value)s for option '%(option)s' is not allowed." msgstr "" -#: LogRotate/Handler.py:2213 +#: LogRotate/Handler.py:2212 msgid "" "Neither 'target' nor 'statinfo' was given on calling " "_copy_file_metadata()." @@ -961,7 +966,7 @@ msgstr "" msgid "No command to execute defined in script '%s'." msgstr "" -#: LogRotate/Handler.py:1132 +#: LogRotate/Handler.py:1131 msgid "No compression defined." msgstr "" @@ -969,11 +974,11 @@ msgstr "" msgid "No configuration file given." msgstr "" -#: LogRotate/Handler.py:1659 +#: LogRotate/Handler.py:1658 msgid "No dirname directive for olddir given." msgstr "" -#: LogRotate/Mailer.py:274 LogRotate/Mailer.py:476 +#: LogRotate/Mailer.py:281 LogRotate/Mailer.py:506 #, python-format msgid "No execute permissions to '%s'." msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "No file or directory given in a include directive." msgstr "" -#: LogRotate/Handler.py:681 +#: LogRotate/Handler.py:680 msgid "No logfile definitions found." msgstr "" @@ -1006,31 +1011,36 @@ msgstr "" msgid "No logfile pattern defined." msgstr "" -#: LogRotate/Handler.py:2020 +#: LogRotate/Handler.py:2019 msgid "No logfiles to compress found." msgstr "" -#: LogRotate/Handler.py:1990 +#: LogRotate/Handler.py:1989 msgid "No logfiles to delete found." msgstr "" -#: LogRotate/Handler.py:1223 +#: LogRotate/Handler.py:1222 msgid "No maxage given." msgstr "" -#: LogRotate/Handler.py:1138 LogRotate/Handler.py:1215 +#: LogRotate/Handler.py:1137 LogRotate/Handler.py:1214 msgid "No old logfiles available." msgstr "" -#: LogRotate/Handler.py:1183 +#: LogRotate/Handler.py:1182 msgid "No old logfiles to compress found." msgstr "" -#: LogRotate/Handler.py:1278 +#: LogRotate/Handler.py:1277 msgid "No old logfiles to delete found." msgstr "" -#: LogRotate/Handler.py:616 +#: LogRotate/Mailer.py:711 LogRotate/Mailer.py:720 +#, python-format +msgid "No output on %s." +msgstr "" + +#: LogRotate/Handler.py:615 #, python-format msgid "No permission to signal the process %d ..." msgstr "" @@ -1039,7 +1049,7 @@ msgstr "" msgid "No script name given in a script directive." msgstr "" -#: LogRotate/Handler.py:599 +#: LogRotate/Handler.py:598 #, python-format msgid "No useful information found in PID file '%(file)s': '%(line)s'" msgstr "" @@ -1054,27 +1064,27 @@ msgstr "" msgid "No write access to status file '%s'." msgstr "" -#: LogRotate/Handler.py:1729 +#: LogRotate/Handler.py:1728 #, python-format msgid "No write and execute access to olddir '%s'." msgstr "" -#: LogRotate/Handler.py:1723 +#: LogRotate/Handler.py:1722 #, python-format msgid "Olddir '%s' allready exists, not created." msgstr "" -#: LogRotate/Handler.py:1737 +#: LogRotate/Handler.py:1736 #, python-format msgid "Olddir '%s' exists, but is not a valid directory." msgstr "" -#: LogRotate/Handler.py:1715 +#: LogRotate/Handler.py:1714 #, python-format msgid "Olddir name is now '%s'." msgstr "" -#: LogRotate/Mailer.py:282 +#: LogRotate/Mailer.py:289 #, python-format msgid "Only absolute path allowed for a sendmail command: '%s'." msgstr "" @@ -1095,8 +1105,8 @@ msgid "" "used." msgstr "" -#: LogRotate/Handler.py:1045 LogRotate/Handler.py:1816 -#: LogRotate/Handler.py:2303 +#: LogRotate/Handler.py:1044 LogRotate/Handler.py:1815 +#: LogRotate/Handler.py:2302 msgid "Only root may execute chown()." msgstr "" @@ -1160,12 +1170,17 @@ msgstr "" msgid "Options" msgstr "" -#: LogRotate/Handler.py:570 +#: LogRotate/Mailer.py:709 +#, python-format +msgid "Output on STDOUT: '%s'." +msgstr "" + +#: LogRotate/Handler.py:569 #, python-format msgid "PID file '%s' doesn't exists." msgstr "" -#: LogRotate/Handler.py:547 +#: LogRotate/Handler.py:546 #, python-format msgid "PID file: '%s'" msgstr "" @@ -1189,7 +1204,7 @@ msgstr "" msgid "Pattern '%s'." msgstr "" -#: LogRotate/Handler.py:740 +#: LogRotate/Handler.py:739 #, python-format msgid "Performing logfile '%s' ..." msgstr "" @@ -1209,17 +1224,17 @@ msgstr "" msgid "Postrotate script '%s' not found." msgstr "" -#: LogRotate/Handler.py:612 +#: LogRotate/Handler.py:611 #, python-format msgid "Process with PID %d anonymous died." msgstr "" -#: LogRotate/Handler.py:624 +#: LogRotate/Handler.py:623 #, python-format msgid "Process with PID %d is allready running." msgstr "" -#: LogRotate/Handler.py:579 +#: LogRotate/Handler.py:578 #, python-format msgid "Reading PID file '%s' ..." msgstr "" @@ -1234,7 +1249,7 @@ msgstr "" msgid "Reading status file '%s' ..." msgstr "" -#: LogRotate/Handler.py:996 +#: LogRotate/Handler.py:995 #, python-format msgid "Recreating file '%s'." msgstr "" @@ -1283,32 +1298,32 @@ msgstr "" msgid "Rest after years: '%s'." msgstr "" -#: LogRotate/Handler.py:1546 +#: LogRotate/Handler.py:1545 #, python-format msgid "Resulting target '%s' exists, retrieve cyclic rotation ..." msgstr "" -#: LogRotate/Handler.py:1498 +#: LogRotate/Handler.py:1497 #, python-format msgid "" "Retrieving all movings and rotations for logfile '%(file)s' to target " "'%(target)s' ..." msgstr "" -#: LogRotate/Handler.py:1312 +#: LogRotate/Handler.py:1311 #, python-format msgid "Retrieving all old logfiles for file '%s' ..." msgstr "" -#: LogRotate/Handler.py:1125 +#: LogRotate/Handler.py:1124 msgid "Retrieving logfiles to compress ..." msgstr "" -#: LogRotate/Handler.py:1208 +#: LogRotate/Handler.py:1207 msgid "Retrieving logfiles to delete ..." msgstr "" -#: LogRotate/Handler.py:1603 +#: LogRotate/Handler.py:1602 #, python-format msgid "Retrieving the name of the rotated file of '%s' ..." msgstr "" @@ -1317,12 +1332,12 @@ msgstr "" msgid "Rotates, compresses and mails system logs." msgstr "" -#: LogRotate/Handler.py:1938 +#: LogRotate/Handler.py:1937 #, python-format msgid "Rotating of '%s' because of force mode." msgstr "" -#: LogRotate/Handler.py:729 +#: LogRotate/Handler.py:728 msgid "Rotating of logfile definition:" msgstr "" @@ -1331,7 +1346,7 @@ msgstr "" msgid "Script name '%s' is allready declared, it will be overwritten." msgstr "" -#: LogRotate/Handler.py:1437 +#: LogRotate/Handler.py:1436 #, python-format msgid "Search for pattern '%s' ..." msgstr "" @@ -1341,12 +1356,16 @@ msgstr "" msgid "Search path '%s' doesn't exists or is not a directory." msgstr "" -#: LogRotate/Mailer.py:539 +#: LogRotate/Mailer.py:572 #, python-format msgid "Sending mail with attached file '%(file)s' to: %(rcpt)s" msgstr "" -#: LogRotate/Mailer.py:278 +#: LogRotate/Mailer.py:658 +msgid "Sending mails via SMTP currently not possible." +msgstr "" + +#: LogRotate/Mailer.py:285 #, python-format msgid "Sendmail command '%s' not found." msgstr "" @@ -1356,7 +1375,7 @@ msgstr "" msgid "Senseless option value '%(value)s' after '%(option)s'." msgstr "" -#: LogRotate/Mailer.py:232 +#: LogRotate/Mailer.py:239 #, python-format msgid "Set sender mail address to: '%s'." msgstr "" @@ -1379,7 +1398,7 @@ msgstr "" msgid "Setting '%(what)s' in '%(directive)s' to %(to)s." msgstr "" -#: LogRotate/Handler.py:2262 +#: LogRotate/Handler.py:2261 #, python-format msgid "Setting atime and mtime of target '%s'." msgstr "" @@ -1409,12 +1428,12 @@ msgstr "" msgid "Setting mailfirst in '%(directive)s' to '%(value)s'." msgstr "" -#: LogRotate/Handler.py:1051 +#: LogRotate/Handler.py:1050 #, python-format msgid "Setting ownership of '%(file)s' to uid %(uid)d and gid %(gid)d." msgstr "" -#: LogRotate/Handler.py:1028 LogRotate/Handler.py:2278 +#: LogRotate/Handler.py:1027 LogRotate/Handler.py:2277 #, python-format msgid "Setting permissions of '%(target)s' to %(mode)4o." msgstr "" @@ -1446,12 +1465,12 @@ msgstr "" msgid "Skip subdirectory '%s' in including." msgstr "" -#: LogRotate/Handler.py:2046 +#: LogRotate/Handler.py:2045 #, python-format msgid "Source file '%(source)s' and target file '%(target)s' are the same file." msgstr "" -#: LogRotate/Handler.py:2038 +#: LogRotate/Handler.py:2037 #, python-format msgid "Source file '%s' for compression doesn't exists." msgstr "" @@ -1489,11 +1508,11 @@ msgstr "" msgid "Starting a new log directive with default values." msgstr "" -#: LogRotate/Handler.py:685 +#: LogRotate/Handler.py:684 msgid "Starting underlying rotation ..." msgstr "" -#: LogRotate/Handler.py:700 +#: LogRotate/Handler.py:699 #, python-format msgid "State of script '%s':" msgstr "" @@ -1512,11 +1531,11 @@ msgstr "" msgid "Status file object will destroyed." msgstr "" -#: LogRotate/Handler.py:2548 +#: LogRotate/Handler.py:2547 msgid "Struct files2send:" msgstr "" -#: LogRotate/Handler.py:2124 LogRotate/Handler.py:2134 +#: LogRotate/Handler.py:2123 LogRotate/Handler.py:2133 #, python-format msgid "Substituting '%(what)s' in compressoptions with '%(by)s'." msgstr "" @@ -1544,14 +1563,14 @@ msgstr "" msgid "Syntax error: unbalanced closing curly bracket found." msgstr "" -#: LogRotate/Handler.py:2155 +#: LogRotate/Handler.py:2154 #, python-format msgid "" "Target '%s' of compression doesn't exists after executing compression " "command." msgstr "" -#: LogRotate/Handler.py:2051 +#: LogRotate/Handler.py:2050 #, python-format msgid "Target file '%s' for compression allready exists." msgstr "" @@ -1560,31 +1579,35 @@ msgstr "" msgid "Test mode is ON." msgstr "" -#: LogRotate/Mailer.py:465 +#: LogRotate/Mailer.py:495 #, python-format msgid "Testing for '%s' ..." msgstr "" -#: LogRotate/Handler.py:575 +#: LogRotate/Handler.py:574 #, python-format msgid "Testmode, skip test of PID file '%s'." msgstr "" -#: LogRotate/Handler.py:647 +#: LogRotate/Handler.py:646 #, python-format msgid "Testmode, skip writing of PID file '%s'." msgstr "" -#: LogRotate/Mailer.py:209 +#: LogRotate/Mailer.py:216 msgid "The 'From' address may not set to None." msgstr "" +#: LogRotate/Mailer.py:681 +msgid "There is no sendmail executable available." +msgstr "" + #: LogRotate/Common.py:438 #, python-format msgid "Total %f days found." msgstr "" -#: LogRotate/Handler.py:958 +#: LogRotate/Handler.py:957 #, python-format msgid "Truncating file '%s'." msgstr "" @@ -1594,12 +1617,12 @@ msgstr "" msgid "Try reading configuration from '%s' ..." msgstr "" -#: LogRotate/Handler.py:1766 +#: LogRotate/Handler.py:1765 #, python-format msgid "Try to create directory '%s' ..." msgstr "" -#: LogRotate/Handler.py:606 +#: LogRotate/Handler.py:605 #, python-format msgid "Trying check for process with PID %d ..." msgstr "" @@ -1639,7 +1662,7 @@ msgstr "" msgid "Trying to include object '%s' ..." msgstr "" -#: LogRotate/Handler.py:620 +#: LogRotate/Handler.py:619 #, python-format msgid "Unknown error: '%s'." msgstr "" @@ -1654,22 +1677,22 @@ msgstr "" msgid "Unsupported option '%s'." msgstr "" -#: LogRotate/Handler.py:1625 +#: LogRotate/Handler.py:1624 #, python-format msgid "Using '%(target)s' as target for rotation of logfile '%(logfile)s'." msgstr "" -#: LogRotate/Mailer.py:269 LogRotate/Mailer.py:471 +#: LogRotate/Mailer.py:276 LogRotate/Mailer.py:501 #, python-format msgid "Using '%s' as the sendmail command." msgstr "" -#: LogRotate/Mailer.py:440 +#: LogRotate/Mailer.py:470 #, python-format msgid "Using <%s> as the sender mail address." msgstr "" -#: LogRotate/Handler.py:1618 +#: LogRotate/Handler.py:1617 #, python-format msgid "Using date extension '.%(ext)s' from pattern '%(pattern)s'." msgstr "" @@ -1694,7 +1717,7 @@ msgstr "" msgid "What the hell is this: '%s'." msgstr "" -#: LogRotate/Handler.py:652 +#: LogRotate/Handler.py:651 #, python-format msgid "Writing PID file '%s' ..." msgstr "" -- 2.39.5