Contents

Crontab 執行特定目錄

Contents
1
50 * * * * cd /home/me/.flexget && sh /home/me/.flexget/gitpull.sh >/dev/null 2>&1

假如前面沒有做cd動作,執行目錄不會是在相同目錄
在此筆記,以後就不用查了
直接看筆記XD

在鳥哥看到12.2.2 script 的執行方式差異 (source, sh script, ./script)
相信可能跟這個也很有關係

摩托學園討論區 • 檢視主題 - [分享] 研究 2>&1 後的一點點心得
也看到>/dev/null執行正確不會東西,但是執行錯誤會顯示在console上面
但是2>&1會把錯誤資訊鳥在/dev/null (前提看你前面寫什麼)
詳細看裡面教學

2020-04-25

1
2
3
4
# 輸出結果也不太一樣
ls  > dirlist  2>&1
ls 2>&1 > dirlist
# 對於第二種情況,標準錯誤只是使用了標準輸出的文件表項,而標準輸出使用了 dirlist 的文件表項。

參考:Bash中的IO與重定向 | 退思園

What is the ‘working directory’ when cron executes a job? - Unix & Linux Stack Exchange
unix - Crontab - Run in directory - Stack Overflow
鳥哥的 Linux 私房菜 – 第十二章、學習 Shell Scripts
摩托學園討論區 • 檢視主題 - [分享] 研究 2>&1 後的一點點心得

crontab Jitter

APScheduler的使用详解_ITPUB博客

1
2
3
4
5
6
7
#!/bin/bash

maxdelay=$((14*60))  # 14 hours from 9am to 11pm, converted to minutes
for ((i=1; i<=20; i++)); do
    delay=$(($RANDOM%maxdelay)) # pick an independent random delay for each of the 20 runs
    (sleep $((delay*60)); /path/to/phpscript.php) & # background a subshell to wait, then run the php script
done

bash - Cron jobs and random times, within given hours - Stack Overflow

Avoid the “top of the minute problem” - space out your cronjobs - Ask Bjørn Hansen

A little jitter can help (evening out distributed cron-based tasks) | Server Check.in

A little jitter can help (evening out distributed cron-based tasks) | Server Check.in