There are a lot of very interesting tricks for using Linux. Number one.
How to get a bash shell prompt from VIM.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ :!sh
This is a command to use in command mode in VIM. If this is used in VIM running as root, say if it is in a sudo whitelist to edit a certain file, this will give a root prompt…
Another way to run a Linux executable. This is using systemd-run to run a program in user scope.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 New LS $ systemd-run --scope --user ls -hula
Running scope as unit: run-rcb03dcd532184139b0d9ea5041b7366a.scope
total 16K
drwxr-xr-x. 4 jcartwright jcartwright 46 May 3 06:46 .
drwxr-xr-x. 66 jcartwright jcartwright 8.0K May 3 07:48 ..
-rw-r--r--. 1 jcartwright jcartwright 752 Apr 23 09:33 Makefile
drwxr-xr-x. 2 jcartwright jcartwright 39 May 2 08:30 build
drwxr-xr-x. 2 jcartwright jcartwright 52 May 2 08:30 src
Run a copy of screen(1) as a normal user.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 New LS $ systemd-run --scope --user screen
Running scope as unit: run-rb0205c8327f24b1aac63cb2a8a8b8f83.scope
Get information on a Linux service using Systemd.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 New LS $ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Fri 2024-05-03 06:41:47 AEST; 1h 46min ago
Docs: man:httpd.service(8)
Main PID: 1563 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
Tasks: 213 (limit: 100989)
Memory: 46.4M
CPU: 1.298s
CGroup: /system.slice/httpd.service
├─1563 /usr/sbin/httpd -DFOREGROUND
├─1669 /usr/sbin/httpd -DFOREGROUND
├─1670 /usr/sbin/httpd -DFOREGROUND
├─1671 /usr/sbin/httpd -DFOREGROUND
└─1672 /usr/sbin/httpd -DFOREGROUND
List the crontab for a Linux user.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 / $ crontab -l
15 10 * * * /home/jcartwright/Documents/test.sh
Type crontab -e to edit the crontab for a normal user.
15 10 * * * /home/jcartwright/Documents/test.sh ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
This example cron job will run a script once a day at 10:15 AM.
Mar 27 10:15:02 localhost CROND[19735]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Mar 29 10:15:01 localhost CROND[14145]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Mar 29 10:15:01 localhost CROND[14142]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Mar 30 10:15:01 localhost CROND[15304]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Mar 30 10:15:01 localhost CROND[15301]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 1 10:15:02 localhost CROND[22785]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 1 10:15:02 localhost CROND[22782]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 3 10:15:01 localhost CROND[19858]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 3 10:15:01 localhost CROND[19853]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 4 10:15:01 localhost CROND[14985]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 4 10:15:01 localhost CROND[14982]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 5 10:15:01 localhost CROND[8346]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 5 10:15:01 localhost CROND[8343]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 7 10:15:01 localhost CROND[10171]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 7 10:15:02 localhost CROND[10168]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 8 10:15:01 localhost CROND[36146]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 8 10:15:02 localhost CROND[36143]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 10 10:15:01 localhost CROND[16254]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 10 10:15:01 localhost CROND[16251]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 11 10:15:02 localhost CROND[10245]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 11 10:15:02 localhost CROND[10242]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 12 10:15:01 localhost CROND[26465]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 12 10:15:01 localhost CROND[26462]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 17 10:15:01 localhost CROND[19171]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 17 10:15:01 localhost CROND[19168]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 23 10:15:02 localhost CROND[18556]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 23 10:15:02 localhost CROND[18553]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 24 10:15:01 localhost CROND[39546]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 24 10:15:01 localhost CROND[39543]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 25 10:15:01 localhost CROND[24449]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 25 10:15:01 localhost CROND[24446]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 26 10:15:01 localhost CROND[21254]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 26 10:15:01 localhost CROND[21251]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) Apr 29 10:15:01 localhost CROND[17679]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) Apr 29 10:15:01 localhost CROND[17676]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) May 1 10:15:01 localhost CROND[17711]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) May 1 10:15:01 localhost CROND[17705]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh) May 2 10:15:01 localhost CROND[22485]: (jcartwright) CMD (/home/jcartwright/Documents/test.sh) May 2 10:15:01 localhost CROND[22482]: (jcartwright) CMDEND (/home/jcartwright/Documents/test.sh)
Check the /var/log/cron file to see if it worked. This is a good way to test a cron setup.