small tip - Run a program / command when the CPU is free or not very busyFollow @ggarron
If you have a pretty busy CPU and need to run a command that is not that important, you may schedule that command to run when the load of the CPU drops below 1.5 (Check this value with top or htop) by default or you can define a new value for this, this way you do not have to monitor the CPU load yourself, and can let Linux take care of it, and the program will run when the CPU can.
The program you need for this is batch
From the man page we have:
executes commands when system load levels permit; in other words, when the load average drops below 1.5, or the value specified in the invocation of atd
So if you need to tar.gz a directory, for backup run this program.
echo 'tar czf /tmp/mydocs.tar.gz /home/me/docs/' | batch
Then this prompt will appear on your console
You can type the command there and press CTRL +D to save the job.