There are two ways to use cron, by creating a file in
/etc/cron.d/repo-sync with the format:
<minute> <hour> <day_of_month> <month> <day_of_week> <user> <command>
For example, to run rsync from src to dest at 19:00 every day you can use:
0 19 * * * root rsync -a src dest
Or you can create a crontab by running
crontab -e (as the user you want to run the command as) with a line like above minus the user such as:
0 19 * * * rsync -a src dest
Personally I prefer creating cron.d files for system/root tasks but both approaches will have an identical result.
Now this will run the command once at the given time - it will stop once the command has finished running so there is no real need to specify a command to stop it at 7:00 as rsync should have hopefully completed by then. If you truly must stop the command at 7:00 you can issue another cron job that simply kills existing processes at the given time.
0 7 * * * root killall rsync
Unfortunately this will kill all rsync commands - which might have side effects if anything else if trying to run rsync at the same time so I do not advise this method.
You can go further by putting the rsync command inside a script that writes its pid to a file, and use that pid in the kill command to mitigate this but this might be more complicated then you really need.
You can read more about setting up cron jobs here or here.