linux cron读哪个文件,linux-管理cron作业创建的日志文件
管理cron日志的最佳方法是在每個作業周圍都有一個包裝器.包裝程序至少可以執行以下操作:
>初始化環境
>將stdout和stderr重定向到日志
>運行工作
>執行檢查以查看作業是否成功
>如有必要,發送通知
>清理日志
這是Cron包裝的基本版本:
#!/bin/bash
log_dir=/tmp/cron_logs/$(date +'%Y%m%d')
mkdir -p "$log_dir" || { echo "Can't create log directory '$log_dir'"; exit 1; }
#
# we write to the same log each time
# this can be enhanced as per needs: one log per execution, one log per job per execution etc.
#
log_file=$log_dir/cron.log
#
# hitherto, both stdout and stderr end up in the log file
#
exec 2>&1 1>>"$log_file"
#
# Run the environment setup that is shared across all jobs.
# This can set up things like PATH etc.
#
# Note: it is not a good practice to source in .profile or .bashrc here
#
source /path/to/setup_env.sh
#
# run the job
#
echo "$(date): starting cron, command=[$*]"
"$@"
echo "$(date): cron ended, exit code is $?"
您的cron命令行如下所示:
/path/to/cron_wrapper command ...
完成后,我們可以執行另一個名為cron_log_cleaner的作業,該作業可以刪除較舊的日志.最后,從cron包裝器本身調用日志清理器并不是一個壞主意.
一個例子:
# run the cron job from command line
cron_wrapper 'echo step 1; sleep 5; echo step 2; sleep 10'
# inspect the log
cat /tmp/cron_logs/20170120/cron.log
運行包裝的cron作業后,日志將包含以下內容:
Fri Jan 20 04:35:10 UTC 2017: starting cron, command=[echo step 1; sleep 5; echo step 2; sleep 10]
step 1
step 2
Fri Jan 20 04:35:25 UTC 2017: cron ended, exit code is 0
總結
以上是生活随笔為你收集整理的linux cron读哪个文件,linux-管理cron作业创建的日志文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《21天学通C语言》
- 下一篇: 改进MySQL Order By Ran