Articles of cron

从shell脚本运行PHP文件

我从来没有添加一个cron作业,并没有太多使用shell …我select的cron目录是/etc/cron.daily/ 所有我需要我的脚本是每天运行一个PHP文件。 如果在上午11:00运行,我会很好。 这就是'脚本'所需要的一切吗? #!/bin/sh php myphppage.php 如何(用什么命令)将脚本提交给cron.daily? 真诚的感谢!

当cron运行时,期望脚本运行屏幕停止工作

我希望这个问题是可以的这个论坛。 我有一个设备,一个调制解调器。 我把这个调制解调器与linux程序“screen”作为一个terminal程序。 我像这样调用它“ /usr/bin/screen /dev/tty6 ”。 我需要每个会话发送大约6个命令。 我使用期望的脚本,所以我可以自动化的过程。 期望脚本产生屏幕过程,发送命令然后退出。 当我从terminal会话运行它时,或者当我使用另一台机器上的ssh远程运行它时,该系统工作正常。 但是当我用cron运行它时,它失败了。 在本地机器上,它会失败,出现如下错误: spawn id exp6 not open while executing exp_send 。 这是在第三次发送预期的脚本。 我尝试使用cron远程使用ssh与-t , -tt , -ttt选项运行,但是我得到错误:“ Pseudo-terminal will not be allocated because stdin is not a terminal. 我的crontabs有一个pathvariables集,然而大部分命令都是用完整的path调用的,我很确定。 我尝试使用-m选项尝试产卵屏幕,但它仍然显然产生失败。 产卵屏幕和分离它在这种情况下没有任何意义。 部分问题似乎是运行屏幕作为terminal仿真器到串口不同于正常运行。 任何帮助或见解将不胜感激。 期望的脚本在这里: — DO-stuff.exp #!/usr/bin/expect -b set verbose 0 set verb [lindex […]

没有日志文件输出(或带有输出的电子邮件)通过cron作业运行Python脚本

我有下面的cron作业运行一个Python脚本似乎安装好没有问题后,在Crontab中创build并保存(这是运行Centos7的服务器上)。 我没有看到日志文件,也没有看到任何输出到包含的电子邮件地址。 我试过这个: */2 * * * * /home/local/DEV/mdub/FTWFB/FTWFBUploader.py > /home/local/DEV/mdub/FTWFB/logs`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log 2>&1 | mailx -s “Facebook Uploads – Cronlog" [email protected] 和这个: */2 * * * * /home/local/DEV/mdub/FTWFB/FTWFBUploader.py | tee /home/local/DEV/mdub/FTWFB/logs`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log | mailx -s “Facebook Uploads – Cronlog" [email protected] 我究竟做错了什么? 在这两个文件我运行chmod +x (filename) ,当我手动运行脚本他们运行和按预期输出。

在crontab里面用sudo执行php

我写了一个PHP脚本,执行需要sudo权限,因为它执行一些其他系统相关的东西。 所以我已经添加到crontab -e但是我看不到,我的脚本运行正常。 命令: */5 * * * * /usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log 唯一的输出是date。 没有来自我的脚本的回应。 它是可执行文件(chmod a + x),如果我在terminal中使用和root相同的命令,一切都可以。 所以这取决于crontab -e ? 另外我确定,我的cronjob正在运行(/ var / log / syslog): Oct 23 16:40:01 $MYMACHINE CRON[13797]: (root) CMD (/usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log) 而这个每5分钟。 另外我的“mylog.log”总是得到最新的时间戳,所以我猜,里面的脚本可能有问题。 编辑:我已经创build了另一个testing脚本来检查,如果脚本得到执行或不。 但脚本被执行了,所以这是脚本内部的问题。 我正在尝试将dynamicIP添加到iptables链中: #!/bin/bash value=`cat whitelist.txt` #echo "$value" for i […]

ZFS发送脚本在手动运行时工作,但不在Cron中(已经尝试过常见的解决scheme)

发送端脚本如下: #!/bin/sh #Variables bigdata=vid-zfs-live/bigdata today=`gdate +%m-%d-%y` yesterday=`gdate -d'yesterday' +%m-%d-%y` #Actions zfs snapshot -r "$bigdata"@"$today" zfs send -i "$bigdata"@"$yesterday" "$bigdata"@"$today" | nc -w 700 192.168.10.11 8024 发送端的Cron条目如下: 30 0 * * * /scripts/zfssendBigData.sh > /tmp/cron1.log 接收端脚本如下: #!/bin/sh /usr/bin/nc -l -p 8024 | zfs receive -F vid-zfs-bak/bigdata 接收端的Cron条目如下: 29 0 * * * /scripts/zfsreceiveBigData.sh > /tmp/cron2.log cron1.log和cron2.log都是空的。 […]

ubuntu 16.04 xenial上的fstrim cron作业错误

我从cron作业得到这个错误"/bin/sh: 1: fstrim: not found" 。 这似乎是这个,似乎是一个默认的cron工作由Ubuntu发布: /etc/cron.weekly# cat fstrim #!/bin/sh # trim all mounted file systems which support it /sbin/fstrim –all || true 如果我直接运行该脚本,我得到没有错误,它似乎工作正常:(

Cronjob不执行只*一个* PHP脚本

好吧,我有一个PHP脚本,必须每15分钟执行一次,但这是行不通的。 我的其他脚本只是执行得很好,我可以通过命令行执行它。 # mh dom mon dow command 30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log * 10 * * 0 php /var/www/html/slack/huiswerk_reminder/runner.php * 17 * * 1 php /var/www/html/slack/huiswerk_reminder/runner.php * 17 * * 2 php /var/www/html/slack/huiswerk_reminder/runner.php * 14 * * 3 php /var/www/html/slack/huiswerk_reminder/runner.php * 16 * * 4 php /var/www/html/slack/huiswerk_reminder/runner.php */15 * * […]

Crontab + AWS:“无法find凭据”

我有一个Linode(Ubuntu 16.04),我试图通过调用脚本的cron作业将文件复制到AWS S3存储桶,但日志输出: upload failed: ../path/file.ext to s3://bucket/prefix/file.ext Unable to locate credentials 脚本tar目录,然后将该tar上传到我的s3存储桶 如果我通过sudo直接调用它,脚本工作就开始了 作为一个root cron作业, tar工作,但aws上传不(如上所述错误) 作为[用户] cron作业, tar失败(有意的权限相关),但是aws上传成功。 当我安装AWS CLI时,我完全忘记了它的措辞,但是我select了为所有用户安装它 我试过的东西 让我的脚本直接在/usr/local/bin/aws调用/usr/local/bin/aws 将/usr/local/bin/aws到crontab中的PATH以及我的脚本中 在AWS_CONFIG_FILE="/home/[user]/.aws/config"添加AWS_CONFIG_FILE="/home/[user]/.aws/config"以及在我的脚本中 以root身份重新运行aws configure 遵循这个技巧 ,比较cron和交互式环境。 我的env.cron PATH包括我的env.interactive PATH列出的所有东西,再加上几个,甚至一些重复的东西 – 是不是很糟糕? 与我的env.cron (36行)相比,在我的env.interactive (1810行)中有更多的语句。 这一定是我的环境差异,对吧? 我已经search了我的env.interactive任何aws实例,但是没有,即使env工作得很好。 有关其他特定项目的任何提示在那里寻找? 任何想法和帮助表示赞赏! 谢谢!

Wine在crontab中不起作用

cron脚本中有bash,执行wine。 在cronjob日志中我看到: wine: Unhandled exception 0x0eedfade in thread 9 at address 0xce99ebf0:0x7b83e6ce (thread 0009), starting debugger… err:winediag:nulldrv_CreateWindow Application tried to create a window, but no driver could be loaded. err:winediag:nulldrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. err:seh:setup_exception_record stack overflow 928 bytes in thread 0009 eip 7bc843a0 esp […]

按大小logrotate – 我需要更改cron吗?

我目前的logrotateconfiguration看起来像这样(使用logrotate 3.8.7) "/var/log/haproxy.log" { daily size 250M rotate 1 create 644 root root missingok compress notifempty copytruncate } 它每天成功运行一次,但是当尺寸超过250M时,它不会旋转。 所以无论大小如何,它都会一直等到一天结束。 我读过,有maxsize选项,更改size 250M , maxsize 250M它仍然无法正常工作。 我需要设置一个cron以小时的方式运行logrotate,或者logrotate会自动运行,因为正在监听这个文件的大小,而且我还有其他的错误呢?