Solution 1:
- Hello mate, i cannot comment so i will try to answer here.
- There are few options to create a scheduled process to solve that problem.
- Here are two options:
- crontab - wich is less fitting your problem.
- making a service - wich is fitting your problem perfectly.
- there might be more and a better ways to solve that problem.
- About crontab:
- The crontab is a list of commands that you want to run on a regular schedule.
- To add a command you want to schedule run you have to edit the crontab file with the command
crontab -e
.
- you can use this site to help you calculate the interval you want to execute a specific command crontabCalculator
- you can use this guide to figure your own crontab file crontabGuide
-
The better option for my opinion is to create your own service.
- when you create a service you can run it just as all the other services, that means that you can enable, disable, restart, start and all other options that coming with
systemctl
command.
- you have to create your service as a text file and name it myServiceName.service.
- then you have to locate that service in
/etc/systemd/system/.
- use this guide to have a service template howToMakeAServiceGuide.
- after creating the service and locating him in the specific directory you can enable and start him by this commands:
systemctl enable serviceName.service
and systemctl start serviceName.service
.
- the service should start on any reboot so it might solve your problem.
-
Edited after comments.
- create a script with
sudo nano /usr/local/sbin/SCRIPT_NAME.sh
- example for a script with your commands:
#/bin/bash!
ip rule add from 185.230.125.107 table 128
ip route add table 128 185.230.125.107/32 dev eno0
ip route add table 128 default via 185.230.125.254
- now give the script a execute permissions with
chmod a+x SCRIPT_NAME.sh
- now create a service with
sudo nano /systemd/system/SERVICE_NAME.service
- use that template: in the ExecStart field execute your script
Description=ROT13 demo service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=centos
ExecStart=/usr/local/sbin/./SCRIPT_NAME.sh
[Install]
WantedBy=multi-user.target
- Edited after comments two:
- To make sure your service is configured correctly follow this steps:
- locate the service in
/etc/systemd/system/LOCATE_HERE.service
- give your script that running by the service the execute permission with
sudo chmod a+x yourscript.sh
- execute the command
sudo systemctl daemon-reload
to reload the new service.
- execute the command
sudo systemctl enable serviceName.service
- execute the command
sudo systemctl start serviceName.service
- execute the command
sudo systemctl status serviceName.service
- if the service is running reboot your system.
- after the reboot execute the command
sudo systemctl status serviceName.service
to check if the service is running.
- images:
- if all that solution is not working there might be a problem with the file type - check for solution here solutionForFileTypeError