Der pushover.net Dienst begeistert mich immer noch und ich habe das RSS Script um ein Channel Management erweitert. Somit lassen sich jetzt die Channel in der Datenbank speichern und man muss nicht mehr für jeden Feed einen Cronjob starten.
Das Script kann man wieder über github beziehen und dafür braucht man rss2pushover.db und rss2pushover.pl. Um einen neuen Channel hinzuzufügen muss dieser in der Datenbank gespeichert sein. Dieses kann man folgendermaßen machen:
sqlite> INSERT INTO channel (status, url, token, user) VALUES (1,$FEED_URL,$PUSH_TOKEN,$PUSH_USER);
Über den Status kann man einstellen ob der Channel aktiv (1) oder deaktiviert (0) is. Die Url ist die des RSS Feeds und Token sowie User sind von pushover für die Applikation. Anschließend kann man das Script einfach wie gewohnt starten und erhält die Push Nachrichten.
Beispiel Screenshot:
missing perl modules you should install first
# cat /etc/issue
Debian GNU/Linux 8 \n \l
apt-get install libwww-perl
apt-get install libtypes-datetime-perl
apt-get install libxml-simple-perl
apt-get install libdbi-perl
apt-get install libdbd-sqlite3-perl
= Looping pushover messages because SQLite3 database corruption =
# perl rss2pushover.pl
Mon Mar 21 11:09:44 2016 [8158] start rss2pushover.pl channel: 1
Mon Mar 21 11:09:45 2016 [8158] new item -> ***
DBD::SQLite::st execute failed: database is locked at rss2pushover.pl line 120.
Mon Mar 21 11:10:15 2016 [8158] new item -> ***
DBD::SQLite::st execute failed: database is locked at rss2pushover.pl line 120.
DBD::SQLite::db do failed: database is locked at rss2pushover.pl line 131.
Mon Mar 21 11:10:16 2016 [8158] start rss2pushover.pl channel: 2
Mon Mar 21 11:10:16 2016 [8158] new item ->***
DBD::SQLite::st execute failed: database is locked at rss2pushover.pl line 120.
Mon Mar 21 11:10:17 2016 [8158] new item -> ***
DBD::SQLite::st execute failed: database is locked at rss2pushover.pl line 120.
= Try to fix your database =
# sqlite3 rss2pushover-new.db
SQLite version 3.8.7.1 2014-10-29 13:59:56
Enter “.help” for usage hints.
sqlite> pragma integrity_check;
ok
sqlite> .q
Worked for me without any issue.
Hallo, ich erhalte ständig die Fehlermeldung:
Can’t locate Mail.pm in @INC (you may need to install the Mail module)
Welche Paket (Ubuntu) müsste ich noch zusätzlich installieren ?
h.G.
Huch, da ist mir was falsches in den COde gekommen. Am besten folgende Zeilen löschen:
use FindBin qw($Bin);
use lib "$Bin/lib/";
use Mail;