Assuming you are only downloading from a specific playlist/channel, youtube-dl
already has options that can be used to only download videos it hasn't already downloaded before.
$ youtube-dl --download-archive <filename>.txt http://youtube.com/...
This will record the files it has downloaded already and avoid re-downloading them in the future.
As for downloading it on a schedule, you can place all of your youtube-dl
commands into a BASH script and have it run on a cronjob
. Basically, this allows you to schedule when to run a script (e.g. every day at 2am). The file to look at is /etc/crontab
, where you would add a line similar to this:
0 2 * * * /bin/bash /home/username/daily_youtube_download.sh
Basically, this would run a script called "daily_youtube_download.sh" at minute 0, hour 2, every day of the month, every month of the year, every day of the week (i.e., 2am everyday).