当前位置: 首页 > news >正文

宁波自适应网站建设优化建站弹幕网站开发

宁波自适应网站建设优化建站,弹幕网站开发,建筑行业招聘网站推荐,做网站送域名和邮箱对于一些离线预测任务,或者D1天的预测任务,可以简单地采用Crontab做定时调用项目代码运行项目 Crontab简介: Linux crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令&…

对于一些离线预测任务,或者D+1天的预测任务,可以简单地采用Crontab做定时调用项目代码运行项目

Crontab简介:
Linux crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通过 crontab 命令,用户可以添加、修改、删除和列出定时任务,以实现自动化执行特定任务。

Crontab下载

sudo apt-get install cron

Docker镜像
我们新建一个名为cron-test的容器,使用下面这个py代码作为测试

import numpy as npif __name__ == '__main__':x = np.empty([2,4])print(x)

容器运行结果如下:
在这里插入图片描述


使用shell脚本运行容器
在当前目录下,终端执行命令进入shell脚本编辑

  1. 新建一个名为cron-test的shell脚本
touch cron-test.sh
  1. 终端运行 vim cron-test.sh 编辑脚本,i进入编辑,Esc退出编辑,shift+:wq!保存并退出
    注:#!/bin/bash 明确指定脚本使用 Bash 解释器执行,而 #!/bin/sh 使用系统默认的Shell(可能是Bash或其他兼容的Shell)执行。如果脚本依赖于特定的Bash功能,或者想确保在不同的系统上都使用Bash作为解释器,那么使用 #!/bin/bash 是一个更安全的选择。

在这里我的shell脚本如下:
在这里插入图片描述

  1. 终端运行命令执行shell脚本
/home/licy/文档/cron-test.sh

使用crontab设置定时任务运行shell脚本
打开crontab编辑器

crontab -e

编写定时任务命令
基本格式:分钟 小时 一月的第几天 月份 周几 用户名 要执行的命令

Example of job definition:
.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|  |  |  |  |
*  *  *  *  * user-name command to be executed

例如我们想每分钟运行一次shell脚本,写法如下

* * * * * /home/licy/文档/cron-test.sh

然后保存crontab并退出

按下Ctrl + O保存更改,然后按下Enter确认
按下Ctrl + X退出编辑器。

我们就可以在日志文件里找到脚本的运行情况了
在这里插入图片描述

定时任务常见于日报周报月报,这里也给一下写法

# 每天早上8点运行
0 8 * * *  [command]# 每周一早上8点运行
0 8 * * 1  [command]# 每个月第一天的早上8点运行
0 8 1 * *  [command]

Crontab执行时间计算 - 在线工具

在上述Crontab定时任务下,有报错将不会发送日志,但会将报错信息发送邮件,默认邮件的路径为 /var/mail,可以通过邮件了解报错原因。如果直接在Crontab里执行Docker任务(不经过shell脚本),则每一次执行任务后都将发送邮件。可以修改命令不发送邮件避免占用空间:

* * * * * /yourpath/yourcommand > /dev/null

Crontab其他常用命令

  1. Crontab 启动、停止、重启命令
#  启动服务
service crond start
# 关闭服务
service crond stop 
# 重启服务
service crond restart
# 重新载入配置
service crond reload
# 查看crontab服务状态
service crond status
# 同样可以设置开机自启动
chkconfig --level 345 crond on
  1. 查看、添加、删除任务
# 查看crontab定时任务
crontab -l
# 添加任务,cron表达式  sh脚本路径
crontab -e
# 删除所有的定时任务
crontab -r

常见报错:
1. Permission denied while trying to connect to the Docker daemon socket at unix
原因:docker进程使用 Unix Socket 而不是 TCP 端口。而默认情况下,Unix socket 属于 root 用户,因此需要 root权限 才能访问
解决:为了避免每次运行Docker命令的时候都需要输入sudo,可以创建一个docker用户组,并把相应的用户添加到docker分组里面。当docker进程启动的时候,会设置套接字可以被docker分组的用户读写。

查看docker组中的用户

cat /etc/group | grep docker

在这里插入图片描述

在这里可以看到,我们的Docker用户组(GID为998)当前没有任何用户,因此我们需要将用户加入Docker组

sudo gpasswd -a ${USER} docker  # 例如我的USER是licy

更新当前Docker用户组

newgrp docker

重新运行命令查看docker组中的用户,这时就可以看到我已经被加入到docker用户组中
在这里插入图片描述

2. 找不到执行任务的邮件
原因:系统中没有安装邮件传输代理(MTA),因此cron任务的输出被丢弃了。
解决:
第一种:终端运行以下命令安装Postfix:

sudo apt update
sudo apt install postfix

第二种:需要通过配置打开crontab的日志记录功能

sudo vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log # 将cron前面的注释去掉
# 重启rsyslog
sudo /etc/init.d/rsyslog restart
# 重启rsyslog
sudo service rsyslog restart 
# 重启cron程度
sudo service cron restart

参考来源:
解决 ERROR:Docker Got permission denied while trying to connect to the Docker daemon socket at unix

http://www.yayakq.cn/news/748087/

相关文章:

  • 微信公众平台绑定网站个人做外贸网站平台
  • 编程 朋友 做网站优化seo技术
  • 公司网站包含哪些内容网上开店电商平台有哪些
  • 没有公司个人可以做网站卖东西吗快速优化网站排名搜索
  • 做网站公司 陕西渭南建设银行企业网银网站打不开
  • ipv6改造 网站怎么做禄丰网站建设
  • 上传的网站打不开 index.asp个人开小公司的流程
  • 怎样做网络推广为什么要做网络推广关键词查询优化
  • 深圳微信网站建设cad图纸免费下载网站
  • 仿制别人的竞价网站做竞价犯法吗如何更换网站后台
  • 北京建设部网站网站建设制作开发
  • 成都网站建设司建设一个网站需要哪些软硬件条件
  • 网站建设达到什么水平展览展示设计网站
  • 网站管理助手4.0 mysql株洲制作网站
  • 如何撰写网站建设方案小说网站个人可以做吗
  • 网站淘宝推广怎么做富海人才招聘网官网
  • 外贸出口网站建设电商运营是干嘛的
  • 全屏产品网站宽屏大气网站源码
  • 如何查看网站有没有收录共青城网站建设公司
  • APP客户端网站建设wordpress 文章标题列表
  • 企业品牌类网站大学学科建设网站
  • 海西高端网站建设价格浦东新区网站优化推广
  • wordpress 菜单栏阜阳网站优化
  • 中国纪检监察报记者电话资源企业网站排名优化价格
  • wordpress 企业网站模板国内企业网站设计公司
  • 延边延吉网站建设提升wordpress速度
  • 建设小说网站小说源浙江坤宇建设有限公司网站
  • 360怎么变成建设银行首选网站在本地搭建wordpress
  • 做外贸做网站网站手机模板源码下载
  • 国外免费网站域名服务器入口挺好的网页链接