linux 下怎么查看crontab是否自动启动了,普通用户下要怎么设置为开机自动启动crond服务呢?

linux 下怎么查看crontab是否自动启动了,普通用户下要怎么设置为开机自动启动crond服务呢?,第1张

可以通过crontab的运行日志来判断,步骤如下:

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、在linux命令行下输入shell指令:cat/var/log/cron。

3、键盘按“回车键”运行shell指令,此时会看到crontab的运行日志被打印了出来。

本篇记录一些在 ubuntu 上自动化的方法,在 ubuntu 16.04 环境下测试。

sudo vi /etc/rc.local

在 exit 0 上方写命令:

/usr/local/bin/test >/dev/null 2>&1

代表执行test,并丢弃输出流。注意程序要写绝对路径才稳。执行之后是以管理员执行的。

sudo vi /etc/crontab

在最后添加一行:

0 0 * * * root init 6

就是每天0点0分重启。

创建一个文件,添加以下命令:

0 0 * * * /usr/local/bin/test >/dev/null 2>&1

就是每天0点0分启动test这个程序

50 23 * * * pkill -f /usr/local/bin/test

就是每天23点50杀掉test这个程序

nohup 版

nohup /usr/local/bin/test >/dev/null 2>&1 &

screen 版

screen -R test_screen 创建一个终端并进去

/usr/local/bin/test 启动程序

按 ctrl+A+D 回到原来的终端

详细用法可查看 screen 文档,tmux 也是一个选择

最简单粗暴的方式直接在脚本 /etc/rc.d/rc.local (和 /etc/rc.local 是同一个文件,软链)末尾添加自己的 脚本

然后,增加脚本执行权限

第二种方式是在crontab中设置

也可以设置每次登录自动执行脚本,在 /etc/profile.d/ 目录下新建sh脚本,

/etc/profile 会遍历 /etc/profile.d/*.sh

另外,几个脚本的区别:

(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。

(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。

(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11520946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存