标签: incron

让incron inotify工作的麻烦

亚历克斯回答这里是我的步骤:

创建shell代码

root@ip[/]# touch mylog.sh
root@ip[/]# nano mylog.sh
Run Code Online (Sandbox Code Playgroud)

复制mylog.sh中的代码

#!/bin/bash
echo "File $1 created." >> /mylog.log
Run Code Online (Sandbox Code Playgroud)

允许

root@ip[/]# chmod +x mylog.sh
Run Code Online (Sandbox Code Playgroud)

创建日志文件

root@ip[/]# touch mylog.log 
Run Code Online (Sandbox Code Playgroud)

打开icron表

incrontab -e
Run Code Online (Sandbox Code Playgroud)

把新命令放入

/test/ IN_CREATE mylog.sh $@$#
Run Code Online (Sandbox Code Playgroud)

重新加载incron - 创建一个新文件 - 检查日志文件

root@ip[/]# incrontab --reload
requesting table reload for user 'root'...
request done

root@ip[/]# cd test
root@ip[/test]# touch newfile.txt

root@ip[/test]# cd /
root@ip[/]# nano mylog.log
Run Code Online (Sandbox Code Playgroud)

但仍然是空的日志文件...我错过了什么?


最后用完整路径调用shell脚本就可以了:

/test/ IN_CREATE /mylog.sh $@$#
Run Code Online (Sandbox Code Playgroud)

linux filesystems centos incron

10
推荐指数
1
解决办法
1340
查看次数

用于上传文件的PHP脚本在终端中工作,但不能与incron一起自动调用

我有一个PHP脚本,使用cURL在Sharepoint上上传文档.如果我在终端中运行scipt,则上传过程正常.

因为我想在更改此文件时自动调用脚本,我使用incron来检测相应文件夹中的更改并触发PHP脚本的调用.

我的incron文件如下所示:

/var/www/[further path]/temp IN_MODIFY,IN_CREATE /usr/bin/php /var/www/[further path]/uploadToSharepoint.php
Run Code Online (Sandbox Code Playgroud)

当我查看syslog时,我可以看到incron正确触发了脚本调用.但由于某些原因,该文件未上载到Sharepoint.我还尝试使用全局写权限创建文件,但这并没有解决我的问题.

-rwxrwxrwx 1 www-data www-data 49058 Mär  3 10:28 [file].xlsx
Run Code Online (Sandbox Code Playgroud)

这是我正在调用的脚本:

包括'database.php';

    $username="[username]";
    $password="[password]";

    $localFileURL="/var/www/[further path]/temp/";
    $files = scandir($localFileURL, 1);
    $newest_file = $files[0];
    $pathToUpload=getTeamPath($newest_file);


    uploadDocument($pathToUpload . '/' . $newest_file, $localFileURL . $newest_file,$username, $password);

    function uploadDocument($dest, $localFile,$username, $password){
            $fp = fopen($localFile, 'r');

    // Connecting to website.
            $ch = curl_init();

            curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
            curl_setopt($ch, CURLOPT_URL, $dest);
            curl_setopt($ch, CURLOPT_UPLOAD, 1);
            curl_setopt($ch, CURLOPT_TIMEOUT, 86400); // 1 Day Timeout
            curl_setopt($ch, …
Run Code Online (Sandbox Code Playgroud)

php ubuntu sharepoint curl incron

6
推荐指数
1
解决办法
264
查看次数

Incron 作业未执行

我正在使用 incron 来监视目录中的一个文件/var/www/html。的输出incrontab -l

/var/www/html/test IN_ACCESS /home/intel/test.sh
Run Code Online (Sandbox Code Playgroud)

该作业应该在主目录中创建一个文件,但是当执行该作业时(我在浏览器中打开了网址),没有创建文件,以下行是/var/log/cron文件中显示的内容

Jan 20 10:27:57 localhost incrond[26442]: (root) CMD (/home/intel/test.sh)
Run Code Online (Sandbox Code Playgroud)

这清楚地表明事件已经发生。

PS:如果我只是在 CLI 中运行,/home/intel/test.sh它可以正常工作并创建测试文件,以下是我的test.sh文件。

#!/bin/bash
touch fm00
Run Code Online (Sandbox Code Playgroud)

cron incron fedora20

2
推荐指数
1
解决办法
2138
查看次数

标签 统计

incron ×3

centos ×1

cron ×1

curl ×1

fedora20 ×1

filesystems ×1

linux ×1

php ×1

sharepoint ×1

ubuntu ×1