在本文中,我们将带你了解bash–重定向cron作业的输出在这篇文章中,我们将为您详细介绍bash–重定向cron作业的输出的方方面面,并解答crontab重定向常见的疑惑,同时我们还将给您一些技巧,
在本文中,我们将带你了解bash – 重定向cron作业的输出在这篇文章中,我们将为您详细介绍bash – 重定向cron作业的输出的方方面面,并解答crontab 重定向常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的1个30任务的Cron作业30个Cron作业每个执行1个任务、asp.net – 在IIS中有类似cron作业的东西吗?、bash shell: 重定向标准错误输出、bash shell:重定向标准错误输出。
本文目录一览:- bash – 重定向cron作业的输出(crontab 重定向)
- 1个30任务的Cron作业30个Cron作业每个执行1个任务
- asp.net – 在IIS中有类似cron作业的东西吗?
- bash shell: 重定向标准错误输出
- bash shell:重定向标准错误输出
bash – 重定向cron作业的输出(crontab 重定向)
0 5 * * * /bin/bash -l -c 'export RAILS_ENV=my_env; cd /my_folder; ./script/my_script.rb 2>&1 > ./log/my_log.log'
这样做的结果是我正在./script/my_script.rb的./log/my_log.log中输出.需要这种行为.令人好奇的是,我也在本地邮件中收到输出.我想知道如何通过邮件捕获我的脚本的输出.由于我将输出重定向到一个日志文件,我希望我的cron作业没有输出,因此当cron作业运行时,我将不会收到任何邮件.任何人都可以看出邮件能够获得./script/my_script.rb的输出吗?
通过将您的cron作业更改为:
0 5 * * * /bin/bash -l -c 'export RAILS_ENV=my_env; cd /my_folder; ./script/my_script.rb > ./log/my_log.log 2>&1'
1个30任务的Cron作业30个Cron作业每个执行1个任务
运行1个Cron作业执行30个任务对30个Cron作业每个执行1个在服务器负载上有什么不同? 或者将这两个条件在服务器上创build相同的负载?
如何让CRON调用正确的path
创build通过当前date备份命名的tar文件永远不会运行
Windows任务调度程序在几秒钟内执行任务
bash:$ _在cronjob中是空的
为什么从cron作业调用PHP_SAPI不等于“cli”?
运行一个执行30个任务的cron作业效率更高。
既然我假设他们都会同时运行,那么你只需要绑定一个进程而不是30个不同的进程。
虽然这不是原来的问题的一部分 – 保持30个不同的脚本将是一个头痛的问题。 更容易对一个脚本进行更改,正如下面的mu指出的那样。
这取决于所有任务是否必须是同步的,或者是否可以连续运行。
如果他们必须全部同步,那么你将不得不同时运行它们,因此将需要30个单独的工作,导致服务器上的尖峰。 如果能够一个接一个地运行,最好把它们安排成一个单一的cron工作。
如果你计划了30个cron作业,即使它们已经被序列化了,这也会导致你的服务器资源不必要的耗尽,因为现在即使它们不需要被同步,也有29个额外的进程争取ram, cpu,网络资源。
另外,如果任务完全相似,我更喜欢1个单独的cron脚本,脚本单独调用任务,而不必在crontab中维护30个单独的cron条目。
总结
以上是小编为你收集整理的1个30任务的Cron作业30个Cron作业每个执行1个任务全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
asp.net – 在IIS中有类似cron作业的东西吗?
但我记得曾经在PHP网站托管空间中使用cron作业做同样的事情.
在IIS中有什么类似cron作业的吗?
注意:我不希望使用第三方在线调度服务.
解决方法
schtasks.exe
.
你可能会在this question找到更多的想法.
bash shell: 重定向标准错误输出
如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件?
Bash 提供了 I/O 重定向工具,有 3 个缺省的文件(标准输出流): stdin - 用来获取输入,比如键盘、文件重定向 stdout - 输出数据,缺省打印到屏幕 stderr - 输出错误信息,缺省打印到屏幕
理解 I/O (标准输入 / 输出流):
<table> <tr><th > 句柄 </th><th > 名字 </th><th > 描述 </th></tr> <tr><td>0</td> <td> stdin</td><td> 标准输入 </td></tr> <tr><td>1</td><td> stdout</td><td> 标准输出 </td></tr> <tr><td>2</td><td> stderr</td><td> 标准错误输出 </td></tr> </table>
重定向标准错误输出到文件,标准输出还是输出到屏幕
[root@ns_10.2.1.242 test]$ cat1 2> error.log
[root@ns_10.2.1.242 test]$ cat error.log
-bash: cat1: command not found
[root@ns_10.2.1.242 test]$ echo 1 2> error.log
1
[root@ns_10.2.1.242 test]$ cat error.log
[root@ns_10.2.1.242 test]$
重定向标准错误输出和标准输出到文件
$ command-name &>file
or
$ command > file-name 2>&1
[root@ns_10.2.1.242 test]$ echo 1 &>error.log
[root@ns_10.2.1.242 test]$ cat error.log
1
[root@ns_10.2.1.242 test]$ cat1 &>error.log
[root@ns_10.2.1.242 test]$ cat error.log
-bash: cat1: command not found
重定向标准输出到标准输入
使用下面的命令:
$ command-name 2>&1
#注意下面两个例子的区别
# 第一个命令无法更改标准错误输出的内容, 第二个命令因为把stderr 重定向到stdin, 所以 cat1 被替换成了 test
[root@ns_10.2.1.242 test]$ cat1 |sed ''s/cat1/test/''
-bash: cat1: command not found
[root@ns_10.2.1.242 test]$ cat1 2>&1|sed ''s/cat1/test/''
-bash: test: command not found
bash shell:重定向标准错误输出
如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件?
Bash提供了I/O重定向工具,有3个缺省的文件(标准输出流): stdin - 用来获取输入,比如键盘、文件重定向 stdout - 输出数据,缺省打印到屏幕 stderr - 输出错误信息,缺省打印到屏幕
理解I/O(标准输入/输出流):
<table> <tr><th>句柄 </th><th>名字 </th><th>描述</th></tr> <tr><td>0</td> <td> stdin</td><td> 标准输入</td></tr> <tr><td>1</td><td> stdout</td><td> 标准输出</td></tr> <tr><td>2</td><td> stderr</td><td> 标准错误输出</td></tr> </table>
重定向标准错误输出到文件, 标准输出还是输出到屏幕
[root@ns_10.2.1.242 test]$ cat1 2> error.log
[root@ns_10.2.1.242 test]$ cat error.log
-bash: cat1: command not found
[root@ns_10.2.1.242 test]$ echo 1 2> error.log
1
[root@ns_10.2.1.242 test]$ cat error.log
[root@ns_10.2.1.242 test]$
重定向标准错误输出和标准输出到文件
$ command-name &>file
or
$ command > file-name 2>&1
[root@ns_10.2.1.242 test]$ echo 1 &>error.log
[root@ns_10.2.1.242 test]$ cat error.log
1
[root@ns_10.2.1.242 test]$ cat1 &>error.log
[root@ns_10.2.1.242 test]$ cat error.log
-bash: cat1: command not found
重定向标准输出到标准输入
使用下面的命令:
$ command-name 2>&1
#注意下面两个例子的区别
# 第一个命令无法更改标准错误输出的内容, 第二个命令因为把stderr 重定向到stdin, 所以 cat1 被替换成了 test
[root@ns_10.2.1.242 test]$ cat1 |sed ''s/cat1/test/''
-bash: cat1: command not found
[root@ns_10.2.1.242 test]$ cat1 2>&1|sed ''s/cat1/test/''
-bash: test: command not found
今天关于bash – 重定向cron作业的输出和crontab 重定向的分享就到这里,希望大家有所收获,若想了解更多关于1个30任务的Cron作业30个Cron作业每个执行1个任务、asp.net – 在IIS中有类似cron作业的东西吗?、bash shell: 重定向标准错误输出、bash shell:重定向标准错误输出等相关知识,可以在本站进行查询。
本文标签: