What desktop environment/window manager are you using?
If you are using a window manager, it's fairly easy. In Fluxbox, I use the fbsetbg command to change them every 15 minutes. I adopted this from an old FVWM script and call it when starting Fluxbox. (I change the wallpaper directory in December.)
while true; do
fbsetbg -a -R ~/homebackups/frankbell/wallpapers
# fbsetbg -a -R ~/files/Christmas
You could also use feh
and, with some window managers, wmsetbg
(fbsetbg is based on it).
I haven't tried to do this with desktop environments; it's likely more difficult because they want to control wallpaper themselves.