Скрипт может быть запущен не больше, чем два раза в день, не используя крона?
12.08.2018 17:46.
@Ravexina
Это - мое использование сценария рекомендация Ravexina.
SCRIPT=$(realpath "$0")
V=$(pstree -sp $$ | grep "($(pgrep -n atd))" -c)
if [ "$V" -ge 1 ];
then
echo "$SCRIPT" | at "$(date +%H:%M) tomorrow"
fi
Docs_Backups=/media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Documents_Backups/
Scripts_Backups=/media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Script_Backups/
# Backup Documents
gxmessage -fg red -font 'sans 30' -timeout 3 ' BACKING UP FILES FOR UBUNTU_MATE 18.04.3 LTS'
cd ~/Documents
zip -u -q Ubuntu_Documents.zip *.txt *.doc *.rtf *.html *.png *.pdf *.odt *.ods *.odg
cp Ubuntu_Documents.zip /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Documents_Backups/Ubuntu_Documents_`date +"%Y-%m-%d-%H-%M"`.zip # date is in year/month/day/hour/minute format
cd /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Documents_Backups/
# This deletes unneeded date files except newest which are zero bytes
find . -type f -size 0b -delete
sleep 1
touch $( date '+%m-%d-%Y_%I:%M-%p' )
Когда я выполнил его, ничего не произошло в 17:41.
andy@7_~$ echo $HOME/script.sh | at 17:41
warning: commands will be executed using /bin/sh
job 4 at Sun Aug 12 17:41:00 2018
Поскольку Вы упомянули о cron
Я предполагаю, что Вы пытаетесь запустить скрипт автоматически два раза в день.
Лучше использовать cron
, однако можно также использовать at
управляйте, позволяет, говорят, что мой сценарий расположен в $HOME/script.sh
и исполняемый файл.
Сначала я должен добавить эти строки в начале моего сценария:
SCRIPT=$(realpath "$0")
V=$(pstree -sp $$ | grep "($(pgrep -n atd))" -c)
if [ "$V" -ge 1 ];
then
echo "$SCRIPT" | at "$(date +%H:%M) tomorrow"
fi
Я должен работать:
echo $HOME/script.sh | at 18:00
echo $HOME/script.sh | at 20:00
Теперь мой скрипт будет запущен в 18:00 и 20:00 и каждый раз, если он был выполнен с помощью at
демон это запланирует себя, чтобы быть выполненным завтра одновременно.
Это - просто забавная идея, что я хотел совместно использовать ;)