Announcing dupReport - A Duplicati Email Report Summary Generator

Hmmm

[root@MAGGIE ~]# /usr/bin/python3 /usr/share/dupReport/dupReport.py
Traceback (most recent call last):
  File "/usr/share/dupReport/dupReport.py", line 26, in <module>
    import dupapprise
  File "/usr/share/dupReport/dupapprise.py", line 15, in <module>
    import apprise
ModuleNotFoundError: No module named 'apprise'

All I did is copy the files into the same folder and ran the same command I do via cron.

Ok, so I installed “apprise” using “pip3 install apprise” and it gets further:

[root@MAGGIE ~]# /usr/bin/python3 /usr/share/dupReport/dupReport.py
Traceback (most recent call last):
  File "/usr/share/dupReport/dupReport.py", line 63, in <module>
    canContinue = options.initOptions()
  File "/usr/share/dupReport/options.py", line 711, in initOptions
    convert.convertRc(oMgr, currRcVersion)
  File "/usr/share/dupReport/convert.py", line 80, in convertRc
    doConvertRc(oMgr, fromVersion)
  File "/usr/share/dupReport/convert.py", line 221, in doConvertRc
    oMgr.setRcOption('outgoing', option[3:], optVal)
  File "/usr/share/dupReport/options.py", line 509, in setRcOption
    self.parser.set(section, option, value)
  File "/usr/lib64/python3.8/configparser.py", line 1200, in set
    self._validate_value_types(option=option, value=value)
  File "/usr/lib64/python3.8/configparser.py", line 1185, in _validate_value_types
    raise TypeError("option values must be strings")
TypeError: option values must be strings

I opened a new issue on GitHub to trace this. Can you post the [apprise] section of the .rc file there?

Scratch that. It appears to be a problem with the .rc file conversion. Can you post the ‘old’ .rc file to the GitHub issue thread so I can try to trace the problem?

1 Like

Hi, I’m probably doing something silly but I’ve configured Duplicati to send me emails on completion of a backup task which it does and dupReport is sending me summary emails but it’s not picking up the email from Duplicati? The name of the backup is Unraid-Backblaze, is there something else I need to configure?

Matt,

I opened up a new issue on the dupReport GitHub page where we can continue the discussion. Please go to that issue and upload your .rc file and log file so we can determine what is happening.

HG

1 Like

Could this be built into the product its a great idea

Nowadays I use https://duplicati-monitoring.com/ a free tool that works beautifully! The report looks very good.

Hi all,

dupReport is still here and going strong. It’s good to see lots more reporting and monitoring tools available for Duplicati now.

dupReport version 3.0.6 has just been released. This one adds the ability to place a status indicator (Success/Warning/Failure) in the subject line of the report email to let you know if any of the jobs may have ended unsuccessfully. If you’ve skipped the last few updates you haven’t missed much, but this one might be worth upgrading to.

Code and docs are available on the dupReport GitHub page.

Thanks,

HG

2 Likes

Hi everybody,

Just to let you know we’re still alive and well, dupReport 3.0.7 has just been released. This one includes some updates to the email parser to be more forgiving of various message subject formats. Please check it out to update to the latest & greatest version.

I hope everyone has a great holiday season and a happy new year!

HG

2 Likes

Hi, is this still being maintained?

Having an issue after upgrading the server I run dupReport on, from Fedora 38 to 39, it was throwing an error:

[root@maggie ~]# /usr/bin/python3 /usr/share/dupReport/dupReport.py
Traceback (most recent call last):
  File "/usr/share/dupReport/dupReport.py", line 23, in <module>
    import report
  File "/usr/share/dupReport/report.py", line 26, in <module>
    import options
  File "/usr/share/dupReport/options.py", line 12, in <module>
    from configparser import SafeConfigParser
ImportError: cannot import name 'SafeConfigParser' from 'configparser' (/usr/lib64/python3.12/configparser.py). Did you mean: 'RawConfigParser'?

I fixed this by replacing all “SafeConfigParser” in options.py with just “ConfigParser” and now it runs but with some warnings:

[root@maggie ~]# /usr/bin/python3 /usr/share/dupReport/dupReport.py
/usr/share/dupReport/options.py:39: SyntaxWarning: invalid escape sequence '\w'
  ('main',        'srcregex',         '\w+',                                                                      True),
/usr/share/dupReport/options.py:40: SyntaxWarning: invalid escape sequence '\w'
  ('main',        'destregex',        '\w+',                                                                      True),
[root@maggie ~]#

It seemed to work and generated a report etc, but not sure what else this could break.

Python v3.12.2 is what is installed and dupReport is v3.1.0

Hi @Taomyn,

Yes, dupReport is still being maintained, though it’s been pretty quiet for a while. I’ve opened a new issue on GitHub. Can you please go there and upload the latest log form the program. I just need the info up to the line that says:

[NOTICE][EmailManager][Init]Initializing Email Manager.

I’ll do some research on my end to see if I can figure out what’s going on.

Thanks,

Steve

1 Like

Log uploaded, thanks

@handyguy I have made a small update to the way reporting is done, when exceptions are encountered. The changes that are relevant would be the output formatter and the handling of the error case.

I do not expect this to cause issues with dupReport, as it only changes the error case, and in here, maintains the previous format, but adds more details. In case you spot something that will break dupReport, let me know.

Hi @kenkendk. From reading your post it doesn’t sound like it should be a problem. Is this change in a specific build I can test with? And is there a specific error that I can trigger to test the output?

@handyguy Yes, the latest v2.0.7.102 has the change. You can test it by temporarily rename a remote file. In v2.0.7.101 you get only the error message, in v2.0.7.102 you also get the number of remote calls etc.

I’ll give it a try, thanks.

@kenkendk , I tested forcing an error under 2.0.7.102 and dupReport had no issues parsing and reporting on the error. Thanks for the notice.

1 Like