我每分钟都有crontab工作。这个cron作业记录到
/tmp/result_"`date +\%dd_\%mm_\%Y_\%Hh_\%Mmin_\%Ssec`".log
如何按文件夹创建cron作业存储日志的方法如下:
year
不存在则创建文件夹(以年份命名,如2018年)year
文件夹中创建(如果不存在)month
文件夹(如march
或月号)另外,现在我的日志写入/ tmp / *,我有很多日志文件,像这样result_04d_03m_2018_20h_39min_01sec.log
如何解析所有这些文件,并根据其名称创建,每年/每月/每天/文件夹和移动特定日志到它的文件夹?
我假设日志文件是使用重定向创建的。所以我建议采用以下方法:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed
* * * * * mkdir -p `date "+/logdir/\%Y/\%m/\%d"` && command > `date +/logdir/\%Y/\%m/\%d/result_\%dd_\%mm_\%Y_\%Hh_\%Mmin_\%Ssec` 2>&1
命令mkdir -p dir1/dir2/dir3
将创建所需的每个目录和子目录。在这种情况下,它将是/logdir/YYYY/MM/DD