我们有一个Perl脚本,我们已经使用(从crontab启动)好几年来使用Net :: FTP上传图片。 最近我们开始注意到图像没有上传的问题,错误出现在日志中。 在进行故障排除时,我发现目前从cmd行启动的程序工作得很好,但是从crontab启动时,它的错误一直存在。 在远程服务器上,我可以在FTP日志中看到连接仍然处于活动状态,客户端正在更改目录,但STOR命令从不像正常情况下那样显示。 在客户端,当ftp-> put被发出时,响应看起来是'227进入被动模式' 我尝试了一切可以想到的事情来追踪原因(防火墙,短暂端口,内存泄漏),但到目前为止,我唯一的解决scheme是从cmd行手动运行它。 有没有人有任何想法可能是这个问题的原因? 更新:这里是Debug => 1的一些输出: 当从crontab运行并且失败时(最后一行'ERROR'来自perl脚本并且包括$ ftp-> message,即“进入被动模式”): Net::FTP=GLOB(0xa004910)>>> CWD /images/shots Net::FTP=GLOB(0xa004910)<<< 250 CWD command successful Net::FTP=GLOB(0xa004910)>>> PASV Net::FTP=GLOB(0xa004910)<<< 227 Entering Passive Mode (181,71,41,114,114,112). ERROR: Couldn't put file /home/user/data/shot/212/212474.000078.jpg to f/4/f41891045708388275a0b1d1fe8a34fa.jpg on 127.0.0.1 because Entering Passive Mode (181,71,41,114,114,112). 从命令行运行并成功时: Net::FTP=GLOB(0x8619170)>>> CWD /images/shots Net::FTP=GLOB(0x8619170)<<< 250 CWD command successful […]
我尝试运行以下命令: crontab -u root /root/iss/current/node/bin/installers/nl_brandless_selector_full_hd/nl_brandless_selector_full_hd_cron_file 但是我得到这样的错误: /root/iss/current/node/bin/installers/nl_brandless_selector_full_hd/nl_brandless_selector_full_hd_c: No such file or directory 该文件存在那里,但似乎crontab截断文件path的最后几个字符,就像从错误消息看来。 这是一个错误? 操作系统:Ubuntu 12.04.2 LTS 编辑: 这里是一个“ls”输出,所以可以看到,文件存在并且可读(当我试图运行crontab命令时,我是root的): -rw-r–r– 1 root root 1707 Aug 28 00:22 /root/iss/current/node/bin/installers/nl_brandless_selector_full_hd/nl_brandless_selector_full_hd_cron_file 编辑2:如果我将文件重命名为nl_brandless_cron,它完美的工作,所以现在我敢肯定,这真的是一个讨厌的BUG
在审查我接pipe的环境时,我发现Amazon Linux默认使用anacron,这意味着cron.weekly作业在3a.m之间执行。 下午10点 而且 – 我发现每周工作都会执行两次 :每个星期三和每个星期天。 / etc / anacron看起来像默认的: SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 […]
我知道“crontab -e”在尝试安装编辑的crontab之前执行语法检查。 但是,我正在寻找一种方法来validationcrontab文件的语法是否正确,即使: crontab是针对不同的用户,甚至可能不存在于我正在进行编辑的系统上 我不想在我正在编辑的系统上安装crontab 我正在寻找的一个比喻是你可以运行“xmllint somefile.xml”来validation文件是有效的xml。
我有一个作为非root用户作业每天运行的crontab作业。 不幸的是,它停止使用以下消息(在/ var / log / syslog中): CRON[29256]: Authentication token is no longer valid; new one required 我没有更改运行此作业的用户的密码,密码也没有过期。 什么是造成这个问题,以及如何解决这个问题? – 最好不要每隔x天更改一次用户的密码。 Ubuntu 14.04.1 LTS
我在我的工作环境中设置了Kerberos,运行在Centos 6盒子上,并成功地将主服务器数据库传播给了从服务器,并且还设置了一个cron作业,每5分钟自动更新一次。 我想知道是否有一种方法来自动化主人切换到奴隶的过程中,如果主人意外地下降? 我能find的唯一信息是不得不手动切换两台服务器的CNAME。
我有以下脚本运行在raspbian上。 开始 #!/bin/bash /root/config/commands 2>&1 > /root/log/$HOSTNAME.log 命令 #!/bin/bash source /root/config/variables echo TestLine /usr/bin/lftp ftp://user:[email protected] -e "set ftp:ssl-allow no ; set net:reconnect-interval-base 5 ; set net:max-retries 2 ; mirror -e /testgroup/music /root/media ; quit" /usr/bin/mail -s "$HOSTNAME Report" $emailaddress < $logdir/$HOSTNAME.log“ 当我手动运行“开始”,我收到下面的电子邮件 TestLine Total: 1 directory, 4 files, 0 symlinks 当我使用cron运行它时,我收到以下电子邮件 TestLine 这是如何设置crontab -e的 @daily […]
我有一个python脚本,完全按照预期完成时,以root用户手动运行。 当我把脚本写入cron.daily时,崩溃100%的时间。 该错误是一个超时错误,但这个问题不是直接排除错误。 执行这个工作: $ /etc/cron.daily/myscript 但它通过cron自动运行时崩溃。 问题:根节点shell和环境/etc/cron.daily执行的有什么不同?
我正在用一些脚本来确保脚本没有运行两次。 我已经使用了很长一段时间没有太多问题,但它给了我从Ubuntu 15.04升级到Ubuntu 15.10的服务器的麻烦,所以我觉得可能有些东西。 我正在使用的代码如下所示: # locking; make sure we are alone lockfile-create /var/lock/mylockfile –retry 3 –quiet result=$? if [ ${result} -gt 0 ] then # allready running; bye! exit 2 fi lockfile-touch /var/lock/mylockfile & lockfiletouch="$!" trap "{ kill ${lockfiletouch}; lockfile-remove /var/lock/mylockfile; }" EXIT 但是,现在有时会出现以下错误: /usr/local/scripts/myscript.sh: line 1: 8173 Terminated lockfile-touch /var/lock/mylockfile 它发生的时间less于脚本运行时间的1%,但运行频率很高。 任何人都可以给我任何线索,可能是什么原因造成这种情况,我怎么能防止这个错误?
我有一个脚本,用于检查我的VPN连接是否启动,如果不启动,它会重新启动它。 这在terminal正常工作,但命令 nmcli con up uuid 7c514892-6a6a-4d33-946b-84aeb37615bb 似乎在cron试图运行时会出错,具体如下:错误:连接激活失败:未授权控制networking。 这是在我的用户crontab,所以它似乎应该工作? 我应该如何debugging? 更普遍的是,我想要做什么? 我希望我的VPN在停止时自动重新连接。 如果ifconfig不显示tun0连接,GUI小程序将错误地显示locking图标。 在Scientific Linux 6上,这很简单,我可以编辑/ etc / crontab并运行一个脚本来执行检查,如果是的话,重新启动一个服务openvpn,假设我的openvpn.conf包含一个指向pass.txt的指针。 但是,这些在SL7中都不起作用。 OpenVPN似乎不再读取/etc/openvpn/*.conf,服务openvpn restart在命令行上失败。 SL7中唯一需要的就是通过nmcli进行交互。 更重要的是,我必须以我的用户身份执行此操作,否则即使将它们添加到文件并更改了password-flags = 0,也不会有任何VPN机密。 命令行–password-file的文件格式与简单的openvpn密码文件显然是非常不同的,所以也不起作用。 因此,我正在作为我的用户。 我很好,事实上,我认为我更喜欢这个由root做的,如果我想改变VPN设置,我可以从GUI做到这一点… 也许我在这里错过了一些显而易见的东西,而我的破解是愚蠢的 – 因此是背景。 我不需要解决权限问题,如果有一种方法,让vpn自动重新连接,当它closures…