我有以下代码:
/var/www/html/wp-content/uploads/2015/09 IN_CREATE,IN_CLOSE_WRITE /opt/imageopt$
我如何将“/2015/09”部分设置为今天的日期?
谢谢,
答案1
由于替换/2015/09
incron"$(/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
守护进程立即检测到,并且应该在任何给定月份的第一次启动时立即产生影响......
告诉我们事情进展如何。