Put your script in the init.d so that it gets executed at boot.
To make sure that it only gets executed once a day, all you need to do is store the date of the previous execution and compare that to the current date. This is quite simple to do in any script language.
Add it to init.d. Have the script "touch" a small file to a directory it has access to, a home directory as a non-privileged user (unless it needs other privs). Do not use tmp since you have no guarantees that the file will persist. Name the file with the name of the process, look for it and check the last modification time on it. If its less than 86400 seconds ago, exit, else continue. Do the check prior to "touch"ing the file or you will always think that the script has not run in the last day.
Put your script in the init.d so that it gets executed at boot.
To make sure that it only gets executed once a day, all you need to do is store the date of the previous execution and compare that to the current date. This is quite simple to do in any script language.
I use this. The code below save to excutable file, name depo, and you read comment in file.
Add it to init.d. Have the script "touch" a small file to a directory it has access to, a home directory as a non-privileged user (unless it needs other privs). Do not use tmp since you have no guarantees that the file will persist. Name the file with the name of the process, look for it and check the last modification time on it. If its less than 86400 seconds ago, exit, else continue. Do the check prior to "touch"ing the file or you will always think that the script has not run in the last day.
On a debian system I would put my script on /etc/cron.daily and just install anacron.
Anacron is probably the tool you are looking for.
Don't know if RHEL includes rpm for or if you'll have to hunt for them or even compile from source.
You should use anacron to run this. It's used for things that you want once per day.