用 crontab 实现开机自动运行脚本

开发「bufpay.com 个人即时到账收款平台」的时候,订单状态和支付二维码的状态如果过期了要实时修改状态,最大效率利用支付二维码。

过期脚本需要开机启动,并且 deamon 运行,有很多办法可以开机运行脚本,比如修改 /etc/rc.local 脚本,或者把程序移动到 /etc/init.d 下面 或者通过 supervisord 都可以。

考虑到因为有其他脚本需要用到 crontab 为了方便一处管理,就通过 crontab 来实现开机启动,只需要用一下指令:

@reboot nohup python /project_path/cron/expire.py >> /project_path/logs/expire.log 2>&1 &

就可以啦,@reboot 表示重启开机的时候运行一次,然后 nohup 是用来让运行的程序忽略 SIGHUP 指令(因为在父程序退出后,所有的子程序会受到 SIGHUP 指令)从而保证运行的程序不退出。最后的 2>&1 & 表示将标准错误输出重定向到 &1 既标准输出里面并且在后台运行,而这里的标准输出定向到了 /project_path/logs/expire.log 这个文件,这样就可以在一个地方查看错误日志和打印日志。

插播广告

原文地址:https://www.cnblogs.com/worldsku/p/9184482.html

时间: 2024-10-11 01:33:39

用 crontab 实现开机自动运行脚本的相关文章

openSUSE下开机自动运行脚本命令的方法

在/etc/init.d/boot.local文件中添加命令.RedHat系统的对应文件是/etc/rc.d/rc.local. 对于Linux系统启动时自动运行的命令或程序,在rh-basedlinux系统,一般常见是放在/etc/rc.d/rc.local中.但SuSELinux没有这个文件,另外也不推荐使用者这样管理启动服务.推荐使用正规的方式来管理服务启动方式. 有人会说,在SuSE系统里,可以放在/etc/init.d/boot.local中,这要看实际情况.因为SuSE的/etc/i

/etc/rc.local 与 /etc/init.d Linux 开机自动运行程序

1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 的服务启动后,如果我还有其他的动作想要完成时,举例来说, 我还想要寄一封 mail 给某个系统管理帐号,通知他,系统刚刚重新开机完毕,那么, 是否应该要制作一个 shell script 放置在 /etc/rc.d/init.d/ 里面,然后再以连结方式连结到 /etc/rc.d/rc3.d/ 里面

ubuntu14.04 开机自动运行应用程序

ubuntu14.04 开机自动运行应用程序 - ydt_lwj的专栏 - 博客频道 - CSDN.NET ubuntu下有很多中开机自动运行程序的方法,在开机的不同过程中可以启动不同的程序.如在开机启动时自动运行程序,是通过修改放置在 ???? /etc/rc或 ???? /etc/rc.d 或 ???? /etc/rc?.d ?? 目录下的脚本文件,可以使init自动启动其它程序.例如:编辑 ???? /etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本), 也可以在用

[VC]VC实现开机自动运行程序

有时候,我们需要在计算机启动的时候就启动某些程序,不要人干预.这里,提供一种让程序开机自动运行的方法.见下面代码: BOOL CXXX::SetAutoRun(CString strPath) { CString str; HKEY hRegKey; BOOL bResult; str=_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run"); if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &

Windows 开机自动运行

一.启动菜单中 二.开始->运行->msconfig 启动选项卡 三.开始->运行->regedit HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\Run 四.开始->运行->services.msc 设置为自动 五.开机批处理 例如: 开机启动Windows Time 服务 1. 编写批处理文件 @echo off net stop w32time net start w32time

WPF 设置程序开机自动运行(+注册表项)

#region 设置程序开机自动运行(+注册表项) RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (rgkRun == null) { rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\Cur

Android开机自动运行APP——BroadcastReceiver

前言: 有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service.怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以"Don't call me, I'll call you back!"总结Android框架,真是说到点子上了.理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解. 使用场景: 手机开机后,自动运行程序. {只是最近本人在做万达大歌星点餐系统,需要用到系统启动直接启动App避免服务员玩别的app才研究的,

Android---让你的APK程序开机自动运行(转)

转自: http://blog.sina.com.cn/s/blog_72f6e45701014l6t.html 有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service.怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了.理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解. 使用场景:手机开机后,自动运行程序,在屏幕上

QT 设置应用程序开机自动运行

[cpp] view plain copy void Widget::Readregedit() { QString path; QDir dir; path=dir.currentPath();//在QtCreator中点击运行的话地址是工程地址,想要获得应用地址就点击文档中的应用程序(.exe文件) QString sApp = path + "/RemoveFiles.exe";//我的程序名称 sApp.replace("/","\\")