From 03a57e43f67221e5233fd585628b076d181a04f6 Mon Sep 17 00:00:00 2001 From: Malin Freeborn Date: Thu, 13 Apr 2023 06:06:54 +0200 Subject: [PATCH] embiggen time tools --- basics/at.md | 12 ++++++++++++ basics/cron.md | 10 ++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/basics/at.md b/basics/at.md index 901d3dc..5738744 100644 --- a/basics/at.md +++ b/basics/at.md @@ -43,3 +43,15 @@ This will print all pending IDs. Remove a job by the ID with: > atrm 2 Check /var/spool/atd/ + +## Automation + +Automatically add a job for later, by setting the date, then using echo for the command. + +> t="$(date -d "2 minutes" +%R)" + +> echo "fortune > ~/file" | at "$t" + +> watch cat file + +The `$t` here outputs the day in minutes, but you could also do `t="$(date -d "2 days" +%m/%d/%Y)"`. diff --git a/basics/cron.md b/basics/cron.md index 34452b3..7f3bbc5 100644 --- a/basics/cron.md +++ b/basics/cron.md @@ -91,7 +91,11 @@ If you're using vim as the editor, just run this at the top of your crontab: > :r!echo PATH=$PATH -### Location +### `date` Commands + +Cron doesn't understand the `%` sign, so if you want to use `date +%R`, then it should be escaped with a backslash: `date +\%R`. + +### File Location The crontab files are in `/var/spool/cron/`, so you can backup or restore them. @@ -101,7 +105,7 @@ The crontab files are in `/var/spool/cron/`, so you can backup or restore them. HOME=/home/user PATH=/usr/condabin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/user/.local/bin:/home/user/.scripts/:/home/user/.local/bin:/home/user/.scripts/ -1 0 1 * * /usr/bin/mkdir -p $HOME/arc/$(date +%Y/%m) +1 0 1 * * /usr/bin/mkdir -p $HOME/arc/$(date +\%Y/\%m) 18 0 1 */3 * $HOME/.scripts/mail-clean.sh @@ -110,3 +114,5 @@ PATH=/usr/condabin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/u 50 18 * * * /usr/bin/timeout 30m /usr/bin/syncthing ``` + +