shell脚本如何重复执行命令?

这篇文章主要介绍了shell之定时周期性执行脚本的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

ron作业,不会马上执行,至少要过2分钟才执行。如果重启cron服务则会马上执行。

@monthly 代表每天、每周、每月一次。你也可以使用数字:1 - 每天、7 - 每周、30- 每月,或者N - 几天。 anacron程序用此条目来检查作业的时间戳文件

  • delay - 这是在执行一个任务前等待的分钟数。
  • identifier - 条目是一种特别的非空字符串,如cron-weekly。它用于唯一标识日志消息和错误邮件中的作业。

anacron 会检查任务是否已经在period字段执行的时间被执行了,如果没有,则等待delay字段中指定的分钟数后,执行command字段中指定的命令。

一旦任务被执行,它会使用 job-id (时间戳文件名)字段中指定的名称将日期记录在 /var/spool/anacron 目录中的时间戳文件中。

cron是linux自带的守护进程,用来重复运行哪些被设定好了确定的运行时间的任务,如果机器处于关机状态并错过了任务执行时间,这个任务就无法执行了
crontab(cron table的简称)既可以指cron用来定期执行特定任务所需要的列表文件,又可以指用来创建、删除、查看当前用户(或者指定用户)的crontab文件的命令。
anacron不是守护进程,可以看做是cron守护进程的某种补充程序,anacron是独立的linux程序,被cron守护进程或者其他开机脚本启动运行,可以每天、每周、每个月周期性地执行一项任务(最小单位为天)。适合于可能经常会关机的机器,当机器重新开机anacron程序启动之后,anacron会检查anacron任务是否在合适的周期执行了,如果未执行则在anacron设定好的延迟时间之后只执行一次任务,而不管任务错过了几次周期。举个例子,比如你设定了一个每周备份文件的任务,但是你的电脑因为你外出度假而处于关机状态四周,当你回到家中开机后,anacron会在延迟一定时间之后只备份一次文件。由于发行版的不同,cron守护进程如何运行anacron会有所不同。

适合服务器 适合桌面/笔记本电脑
可以让你以分钟级运行计划任务 只能让你以天为基础来运行计划任务
关机时不会执行计划任务 如果计划任务到期,机器是关机的,那么它会在机器下次开机后执行计划任务
普通用户和 root 用户都可以使用 只有 root 用户可以使用(使用特定的配置启动普通任务)

cron 和 anacron 主要的区别在于 cron 能在那些持续运行的机器上有效地运行,而 anacron 是针对那些会在一天内或者一周内会关机的机器。

}

通过命令行执行初始化sql脚本是比较常见的需求,命令行下执行如下操作即可:

若是执行的命名只是创建用户,编辑用户,创建数据库的话可以不指定-d参数。

 
 
c . \l 列出所有数据库的名字
\l+ 列出所有数据库的名字以及字符集编码
列出表/索引/序列/视图/系统表
- - 列出表/索引/序列/视图/系统表
\dt - - 列出数据库中所有表

在PostgreSQL中删除重复记录其实很简单,不论有多少行重复,只要在要删除重复记录的表中table加一列rownum字段( id为table表中的主键) ,类型设置为serial类型即可,然后执行sql

 

最后删除列rownum即可

在终端输入psql 会使用默认的方式连接本地数据库,使用的用户名是登陆linux系统使用的用户名,


  

连接成功之后所有的命令都是使用”\“+ 字符或者word完成相应的功能。现将常用的几个列车

\dt 列出连接数据库中所有表

\di 列出连接数据库中所有index

\dv 列出连接数据库中所有view

\? \ 所有命令帮助

可以尝试执行下面两句sql


  

是不是nothing happened,这是因为postgresql数据库要求必须使用;结尾否则不予执行,加上;之后就能看到结果了。

如果我们想创建数据库怎么办呢?

我们知道createdb和dropdb可以创建和删除数据库,但是如果我们这个时候执行出现什么问题呢?可以试一试,提示是个错误。

 
 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

}
  • 用 户 组: 普通用户

专注系统运维、网络架构,研究技术解决方案,记录我的思想轨迹、工作学习、生活和关注的领域

上周迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器的数据,数据有更新,并找到了rsync服务,从其他服务器传输数据,那么如何找到这台服务器?
因为是从远程传输到本地,而且不是很频繁,手动查找通信记录,没有结果。

写了一个脚本进行跟踪下,考虑到通信时间短的问题。

需要每秒执行一次命令,通过linux自带的cron却不能实现,新版的cron据说可以精确到秒。

2、并且放入后台运行:

3、使用tail -f 命令跟踪日志。

}

我要回帖

更多关于 linux执行脚本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信