很简单,我有一个节点脚本,我想每个月执行一次.
30 6 1 * * node /home/steve/example/script.js
Run Code Online (Sandbox Code Playgroud)
但这不起作用,大概是因为命令正在运行的路径或shell.我尝试了以下通过cron执行节点的方法(使用-v测试):
steve@atom:~$ node -v
v0.4.2
steve@atom:~$ sh node -v
sh: Can't open node
steve@atom:~$ bash node -v
/usr/local/bin/node: /usr/local/bin/node: cannot execute binary file
steve@atom:~$ /usr/local/bin/node -v
v0.4.2
steve@atom:~$ sh /usr/local/bin/node -v
/usr/local/bin/node: 1: Syntax error: "(" unexpected
steve@atom:~$ bash /usr/local/bin/node -v
/usr/local/bin/node: /usr/local/bin/node: cannot execute binary file
Run Code Online (Sandbox Code Playgroud)
我已经没有想法尝试,任何建议?
我最近设置了一个Laravel Queue系统.基础是cronjob调用一个命令,它将作业添加到队列中并调用第二个发送电子邮件的命令.
当我进入我的服务器并运行php artisan队列时,系统工作:listen,但是如果我关闭我的终端,则监听器关闭,作业堆叠起来并排队,直到我重新进入并再次运行监听.
什么是让我的队列系统在后台运行而不需要通过ssh保持我的连接打开的最佳方法?
我尝试运行php artisan queue:work --daemon,它完成了队列中的作业,但当我关闭终端时,它关闭了连接和后台进程.
来源维基百科:
使用问号(?)代替'*',以留下日期或星期几空白.
上面的陈述对我来说没有多大意义.
所以如果我写一些cron,0 0 0 ? * *那么它是指每个月的第一个还是意味着它会每天执行?
这有点令人困惑,因为Java crons以秒开始,而其他crons以分钟开头.
我是cron和crontab调度任务的新手.我正在尝试安排任务的执行,就好像我已经登录,打开一个终端,并自己执行它.
但是,我安排了一个任务来帮助我观察正在执行的$ USER和$ PATH计划任务,这就是我发现的:
$ crontab -l
41 11 * * * echo "USER: $USER" > ~/Desktop/cron_env.log; echo "PATH: $PATH" >> ~/Desktop/cron_env.log
$ cat ~/Desktop/cron_env.log
USER:
PATH: /usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)
似乎$ USER未设置,$ PATH是非常基本和/或默认的东西.相反,这是我打开终端(登录)并回显相同信息时看到的内容:
USER: aschirma
PATH: /usr/lib/jvm/java-6-sun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/pkg/icetools/bin:/pkg/hwtools/bin:/pkg/netscape/bin:/pkg/gnu/bin
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能使我的crontab任务以我想要的方式运行?
我正在尝试在Ubuntu上的crontab中添加一行.
现在,我正在crontab -e那里编辑crontab.
但是,我似乎无法找到真正的crontab文件,因为crontab -e似乎给你一个临时的工作副本.
/etc/crontab 看起来像系统crontab.
crontab -e保存到的crontab的路径是什么?
谢谢!
"现代" cron守护进程如何在内部安排工作?有些人crond习惯于每隔一段时间安排一次跑步at.所以在写完crontab之后,会crond:
谢谢,
现在我每天下午3点运行我的cron工作
0 15 * * *
Run Code Online (Sandbox Code Playgroud)
但我想一天两次完成我的cron工作.上午10:30和下午2:30
0 30 10 * * *
Run Code Online (Sandbox Code Playgroud)
我相信这个命令将在上午10点30分运行.我应该如何在下午2:30运行它?
我最近添加了一个cron作业,但是在给出命令的同时在路径上犯了一个错误,因此,工作从未成功.有没有办法测试我们所做的cron更改?
请注意,我确实从命令行复制并粘贴了命令,这只是一个导致这种情况的迷路按键.
我正在学习node.js,只是设置一个空的Linux虚拟机和已安装的节点.
我每分钟都在不停地运行一个功能
var request = require('request')
var minutes = 1, the_interval = minutes * 60 * 1000
setInterval(function() {
// Run code
})
}, the_interval);
Run Code Online (Sandbox Code Playgroud)
并考虑根据当前时间添加一些其他功能. - (例如,如果dateTime =中午的星期日,则运行功能)
我的问题是,与传统的cron作业相比,运行这样的设置有什么不利之处吗?
请记住,我必须每分钟在节点中运行此功能.