Closed jceloria closed 8 years ago
Hi, the easy way to keep podcasts up to date is to have greg sync
as a cron job. The greg download
command you were suggesting would download all podcasts from the past 5 days, regardless of whether it had already downloaded them before.
As for the second part of your question, greg currently does not do anything to downloaded files. Once they have been downloaded, greg's job is over. I think that's as it should be. To keep your directories free of stuff older than 5 days you could perhaps use find
in another cron job. I believe the right incantation would be something like this:
find /path/to/podcast/dir/* -type f -mtime +5 -exec rm {} \
There's an rm
in there, so please test that I got it right before erasing something you didn't mean to!
Manolo
Thank you, that's all I was looking for. I just wanted to make sure I wasn't missing something and then reinventing the wheel.
Much appreciated!
On Mon, Oct 12, 2015 at 4:41 PM, manolomartinez notifications@github.com wrote:
Hi, the easy way to keep podcasts up to date is to have greg sync as a cron job. The greg download command you were suggesting would download all podcasts from the past 5 days, regardless of whether it had already downloaded them before.
As for the second part of your question, greg currently does not do anything to downloaded files. Once they have been downloaded, greg's job is over. I think that's as it should be. To keep your directories free of stuff older than 5 days you could perhaps use find in another cron job. I believe the right incantation would be something like this:
find /path/to/podcast/dir/* -type f -mtime +5 -exec rm {} \
There's an rm there, so please test that I got it right before erasing something you didn't want to!
Manolo
— Reply to this email directly or view it on GitHub https://github.com/manolomartinez/greg/issues/33#issuecomment-147529705.
Thank you for reporting :) Closing now.
Instead of using cron alternatively systemd user timers could be used (which are files that could be offered by greg) on systems using it as init system (like Arch)
Huh, care expanding on that solution? It sounds interesting.
Two unit files needs to be created. greg.service and greg.timer. Installed would those files into /usr/lib/systemd/user (if a user wants to customize the fetch time he needs to copy it into $HOME/.config/systemd/user/ or /etc/systemd/user)
The service (greg.service) would look like:
[Unit] Description=Greg - Podcast aggregator Documentation=
RequiresMountsFor=/home/ [Service] Type=simple ExecStart=/usr/bin/greg download
(IIRC more than one ExecStart can be added for example to add this find-remove command)
And the timer (greg.timer) would look like:
[Unit] Description=Timer for greg
[Timer] OnBootSec=1h OnUnitActiveSec=5h
[Install] WantedBy=timers.target
Activating is done via
systemctl --user start greg.timer
OnBootSec activates the .service 1h after booting. After that OnUnitActiveSec should take control and check/download every 5h
Thanks a lot for the explanation, Narrat. As with some other systemd tools, I am not sure how this improves over cron jobs. I'll think about it.
Thanks again, M
The Arch-wiki lists some points https://wiki.archlinux.org/index.php/Systemd/Timers#As_a_cron_replacement
I'm new to greg and my apologies if I'm missing something in the documentation or the configuration file, but does greg have the ability to keep a number of podcasts and clean up previous downloads? For example if I wanted to always have on hand the last 5 days of a subscribed show, I assume I would run 'greg download [0-4|-d YYYY-MM-DD]' via cron or something but would previous downloads be cleaned up or would I have to have another script or something do that for me?
I am planning on downloading the podcasts to a shared location that I'd like to expose to my home theater media manager and don't always listen everyday but it would be nice to have the last few days available.
I appreciate the work on this, it looks pretty awesome!