如何使用 Incron 和日期?

如何使用 Incron 和日期?

我有以下代码:

/var/www/html/wp-content/uploads/2015/09 IN_CREATE,IN_CLOSE_WRITE /opt/imageopt$

我如何将“/2015/09”部分设置为今天的日期?

谢谢,

答案1

由于替换/2015/09incron"$(/bin/date +/%Y/%m)"表条目中的 会中断,因此请创建一个系统 incron 表(在 中/etc/incron.d/)并使用 root cron 作业直接对其进行操作(通常要小心谨慎)。即每月自动修改 incron 系统表条目以反映新的日期值/YYYY/MM

$ sudo [yr-txt-editor] incron-daily-tab-update
#!/bin/bash
# script: incron-daily-tab-update  --  owned by root
currentpath=/var/www/html/wp-content/uploads/"$(/bin/date +%Y/%m)"
/usr/bin/printf '%s' "$currentpath IN_CREATE,IN_CLOSE_WRITE /opt/imageopt$" \
     > /etc/incron.d/imageopt.incron-rule
exit 0

其次是:

$ sudo chmod ug+x incron-daily-tab-update

那么你有两种可能性:

1/ 将脚本移动到/usr/local/sbin/incron-daily-tab-update并创建一个 cron 作业,由 root 在每个月的第一天运行,或者在启动后尽快运行。

$ sudo crontab -e
@monthly /bin/bash /usr/local/sbin/incron-daily-tab-update

2/ 将脚本移至incron-daily-tab-update/etc/cron.monthly/结果与创建 crontab 条目相同。

无论哪种方式,都添加root一行/etc/incron.allow;如果该文件在您的系统中不存在,则创建该文件。

来自 incrontab(5),“任何更改后都会读取 incrontab 文件”因此路径的改变应该被incrond守护进程立即检测到,并且应该在任何给定月份的第一次启动时立即产生影响......

告诉我们事情进展如何。

相关内容