前言
执行Linux定时器的命令是:crontab。在网上搜了很多,教程都是在详细讲解定时器的语法(每天10点钟执行,该怎么写?每月第十天8点钟执行,该怎么写?),而不详细说crontab命令在Linux中怎么使用,看了一脸懵逼kali linux,还是自己探索吧。
crontab实战
crontab是一个命令,它的使用方法跟Linux的其他命令一样,也是在命令行中输入该命令,并且后面附带一些参数。
主要有3个参数:
-e:打开一个文件,在文件中用户自己输入定时器的语法,wq保存退出,回车就可以创建好定时器了。
如下:
定时器创建好了linux 驱动定时器,用户怎么确认定时器创建成功了?
这个时候就使用到了
-l参数
如下:
可以看到当前机器有两个定时器。
想删除定时器怎么办?使用-r命令
这个命令就可以把定时器删除掉,
再执行crontab -l ,就会发现定时器被删除掉了。
总结
crontab -e 打开文件,输入定时器语法,保存即可创建定时器。(这个文件是保存在目录/var/spool/cron/下的某一个文件,如果用户是root,就是保存在root文件里面,使用vi命令打开这个文件,可以看到我们输入的定时器内容)
crontab -l 列出当前系统的定时器
crontab -r 删除当前系统的定时器
定时器的语法,这个网上很多教程,安利一个
FAQ
crontab执行脚本文件,报 未找到命令的错误。
解决办法:使用命令的绝对路径,怎么找到命令的绝对路径?使用which命令。
以psql命令为例子linux 驱动定时器,我要找到psql命令的绝对路径linux手机软件,执行命令如下:
在使用psql命令的地方,使用psql的绝对路径
PGPASSWORD=postgres /data/pgdata/bin/psql -h xxx.xxx.xxx.xxx -p xxxx-U postgres -d xxxx-c "insert into just_test_aa(myname) values('111'),('的今飞凯达');"