定时任务

定时任务的说明和分类

# 定时任务分类:
1. crond(crontab) 定时任务软件(软件包 cronie)
2. atd 运行一次
3. anacron 非7*24小时运行的服务器 # 检查 cronie 是否安装: rpm -qa 软件名
[root@NEO ~]# rpm -qa cronie
cronie-1.4.4-16.el6_8.2.x86_64
[root@NEO ~]# # 查看软件包中的内容: rpm -ql 软件包
[root@NEO ~]# rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/doc/cronie-1.4.4
/usr/share/doc/cronie-1.4.4/AUTHORS
/usr/share/doc/cronie-1.4.4/COPYING
/usr/share/doc/cronie-1.4.4/ChangeLog
/usr/share/doc/cronie-1.4.4/INSTALL
/usr/share/doc/cronie-1.4.4/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
[root@NEO ~]#

系统的定时任务:

# 系统的定时任务:
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
# 系统会自动运行里面的内容,系统中毒的时候 # 系统定时任务 + logrotate 命令 完成对日志的日志切割/日志轮询
[root@NEO ~]# ll /var/log/messages* /var/log/secure*
-rw------- 1 root root 747970 Apr 6 23:01 /var/log/messages
-rw-------. 1 root root 560162 Mar 10 13:11 /var/log/messages-20190310
-rw-------. 1 root root 1776477 Mar 18 02:54 /var/log/messages-20190318
-rw------- 1 root root 281719 Mar 25 05:09 /var/log/messages-20190325
-rw------- 1 root root 748600 Apr 2 03:01 /var/log/messages-20190402
-rw------- 1 root root 11127 Apr 6 23:12 /var/log/secure
-rw-------. 1 root root 5897 Mar 10 13:20 /var/log/secure-20190310
-rw-------. 1 root root 15581 Mar 18 02:54 /var/log/secure-20190318
-rw------- 1 root root 842 Mar 25 05:19 /var/log/secure-20190325
-rw------- 1 root root 6890 Apr 2 03:10 /var/log/secure-20190402
[root@NEO ~]# # /etc/crontab 是系统定时任务的配置文件之一

用户的定时任务

# 用户的定时任务

# crontab -l  ---> (list) 列表;查看、管理用户定时任务的命令; cron table
# crontab -e ---> (edit) 编辑;编辑用户的定时任务 (crontab -e 之后的操作和 vim 一模一样)
# /var/spool/cron/root ---> 用户的定时任务存放的位置 (root 是用户名 root用户的定时任务)
[root@NEO ~]# crontab -l
no crontab for root # root 用户没有定时任务
[root@NEO ~]# crontab -e
[root@NEO ~]# crontab -l
#oldboy
[root@NEO ~]# ll /var/spool/cron/
total 4
-rw------- 1 root root 8 Apr 7 00:22 root # 刚才创建的那个定时任务
[root@NEO ~]#

定时任务的使用:

# 定时任务的使用:
# 1. 定时任务依赖的软件(服务) --- 是否能用
1) 查看当前是否正在运行
2) 查看 crond 是否开机自启动
# 查看定时任务当前是否在运行:
# 方法一:
[root@NEO ~]# /etc/init.d/crond status
crond (pid 1555) is running...
# 方法二: ps -ef ---> 该命令用于 显示系统中正在运行的进程(这种方法用的比较多);process status
[root@NEO ~]# ps -ef |grep crond
root 1555 1 0 Apr06 ? 00:00:00 crond # 这个表示定时任务正在运行
root 1719 1625 0 00:37 pts/0 00:00:00 grep --color=auto crond
# 第二列表示 pid (进程号) # 检查定时任务是否开机自启动:chkconfig
[root@NEO ~]# chkconfig |grep crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@NEO ~]#

crontab 命令的使用:

1. crontab -e   ---> edit ;编辑当前用户的定时任务 ---> 该命令即相当于 编辑 vim /var/spool/cron/root 这个文件 (假设当前是root用户)
2. crontab -l ---> list ;显示当前用户的定时任务 ---> 该命令即相当于 cat /var/spool/cron/root 这个文件 (假设当前是root用户) # 使用 crontab 命令、而不直接操作相关文件的原因:
1. 有语法检查功能 格式对不对
2. 方便

定时任务相关文件及目录

# 定时任务相关文件及目录
1. /var/spool/cron/ ---> 定时任务的配置文件所在的目录
2. /var/log/cron ---> 定时任务的日志文件 (运行过程的一个记录) ; *** 很重要
3. /etc/cron.deny ---> 哪些用户禁止使用定时任务 ,即 定时任务黑名单

定时任务格式与常见写法:

定时任务格式说明:

注意:

# 注意: 星期几和日期不要同时加上

定时任务中的特殊符号:

# 1.  *  ---> 每 ...;每分钟,每小时 ... ; 5个 * 表示每一分钟 (定时任务中最小单位是分钟)
# 2. /n ---> 每隔 ... ; */10 * * * * 表示 每隔/每10分钟 # 事例: 每三分钟同步一下系统的时间
# 1). 命令:
[root@NEO ~]# which ntpdate
/usr/sbin/ntpdate
[root@NEO ~]# /usr/sbin/ntpdate ntp1.aliyun.com # 把这条命令放到 定时任务中
7 Apr 01:54:44 ntpdate[1793]: step time server 120.25.115.20 offset 141.016804 sec # 注:在定时任务中命令要用绝对路径 # 2). 把命令放到定时任务中
[root@NEO ~]# crontab -e
[root@NEO ~]# crontab -l
#sync time by neo at 20170407
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
[root@NEO ~]# # 3). 检查:3.1 看日志;3.2 看结果
[root@NEO ~]# date
Sun Apr 7 02:02:50 CST 2019
[root@NEO ~]# date -s "1year" # 先把系统时间修改掉
Tue Apr 7 02:02:57 CST 2020 [root@NEO ~]# tail -f /var/log/cron
Apr 7 01:59:19 NEO crontab[1799]: (root) LIST (root)
Apr 7 02:00:01 NEO crond[1555]: (root) RELOAD (/var/spool/cron/root)
Apr 7 02:00:01 NEO CROND[1802]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
Apr 7 02:00:01 NEO CROND[1803]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Apr 7 02:01:01 NEO CROND[1812]: (root) CMD (run-parts /etc/cron.hourly)
Apr 7 02:01:01 NEO run-parts(/etc/cron.hourly)[1812]: starting 0anacron
Apr 7 02:01:01 NEO anacron[1824]: Anacron started on 2019-04-07
Apr 7 02:01:01 NEO run-parts(/etc/cron.hourly)[1826]: finished 0anacron
Apr 7 02:01:01 NEO anacron[1824]: Jobs will be executed sequentially
Apr 7 02:01:01 NEO anacron[1824]: Normal exit (0 jobs run)
Apr 7 02:03:01 NEO CROND[1849]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com) # 定时任务执行
Apr 7 02:03:07 NEO CROND[1854]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com) # 定时任务执行 [root@NEO ~]# date
Sun Apr 7 02:03:09 CST 2019 # 定时任务执行后,系统时间更新
[root@NEO ~]# # 3. - ===> 表示从...到... , 例如: 07-11 可以表示 7点到11点的时候运行定时任务 # 事例:每天的上午7点到上午11点,每个小时运行CMD命令
* 07-11 * * * * CMD # 07-11 每分钟运行CMD
00 07-11 * * * CMD # 07-11 每个小时(整点)运行CMD # 表示小时的时候一定要注意分钟 # 4. , ---> 逗号 表示 分隔;如: 00 17,19,20 * * * 表示 17点、19点和20点

定时任务书写流程与常见失误:

# 定时任务中出现错误不会有提示
# 例题1:每分钟把自己和名字追加到 /oldboy/oldboy.txt 中
[root@NEO oldboy]# crontab -e
[root@NEO oldboy]# crontab -l |tail -2
# append my name to /oldboy/oldboy.txt every minute by neo at 20170407
* * * * * /bin/echo "NEO" >>/oldboy/oldboy.txt
[root@NEO oldboy]# tail -f /var/log/cron [root@NEO oldboy]# tail -f oldboy.txt # 例题2:每天晚上的23点及00点到7点 每个小时重启一下 nginx
# 不能写成 23-07,而应是 23,00-07 # 定时任务书写流程:
# 1. 命令行测试 --- 先在命令行测试你写的命令有没有问题
# 2. 把命令放入到脚本中 (命令多了建议写到一个文件中,这个文件就是命令的集合,就是脚本)
# 3. 测试下脚本是否可用
# 4. 写定时任务
# 5. 检查结果:
5.1 查看定时任务的日志
5.2 命令是否执行成功

定时任务九句箴言

# 1. 定时任务规则之前加上注释  --- 谁在什么时间做什么
# 2. 使用脚本替代命令行定时任务:
2.1 超过两条命令,都使用脚本
2.2 脚本:命令的集合,命令大礼包
# 3. 定时任务中date命令 % 百分号:
定时任务中的 % 会被认为是一个 回车;想要去除 定时任务中 % 的回车,需要用到 \ ,如: date 中的 \%F 和 \%T
所以 定时任务中 尽量用 脚本(能避免 坑)
# 4. 运行脚本一定要用 /bin/sh 或 sh
# 5. 定时任务中,命令或脚本结果(正确及错误)定向到黑洞 (>/dev/null 2>&1)或追加到文件中 >>/tmp/oldboy.txt 2>&1
# 6. 避免不必要的程序及命令输出:
如: tar zcf # 用这个,
tar zcvf # 不要用加 v 的 这个
# 7. 打包压缩使用相对路径(切到目标目录的上一级打包目标)
# 8. 定时任务脚本中的程序文件,尽量用绝对路径:
1. * * * * * echo oldboy >>oldboy.log #** oldboy.log 要用绝对路径
2. 用户的定时任务中,默认存放 在当前用户的 家目录
3. 系统的定时任务,是存放在根目录下
# 9. 系统与命令位置有关的环境变量问题 # 脚本示例: 每分钟显示当前系统的时间(年-月-日的格式),追加到 /tmp/time.log 中
# 1). 命令
[root@NEO oldboy]# date +%F
2019-04-07
# 2). 脚本: 把脚本都放到 /server/scripts 这个目录中
[root@NEO oldboy]# mkdir -p /server/scripts
[root@NEO oldboy]# vim /server/scripts/show_date.sh
[root@NEO oldboy]# cat /server/scripts/show_date.sh
date +%F
[root@NEO oldboy]# /server/scripts/show_date.sh # 运行脚本 的方法
-bash: /server/scripts/show_date.sh: Permission denied # 执行失败的原因是该脚本没有执行权限
[root@NEO oldboy]# ll /server/scripts/show_date.sh
-rw-r--r-- 1 root root 9 Apr 7 14:30 /server/scripts/show_date.sh
[root@NEO oldboy]# sh /server/scripts/show_date.sh ### 以后手动执行脚本主要就是用 sh 命令 (sh 是命令解释器的一种,另一种是 bin/bash ;这两种其实是一样的);通过 "sh + 脚本的名字" 就能解决 执行权限 的问题
[root@NEO oldboy]# ls -l `which sh bash`
-rwxr-xr-x. 1 root root 942200 Mar 23 2017 /bin/bash
lrwxrwxrwx. 1 root root 4 Oct 16 00:36 /bin/sh -> bash # sh 就是一个指向 /bin/bash 的软链接
[root@NEO oldboy]# sh /server/scripts/show_date.sh
2019-04-07
[root@NEO oldboy]# sh /server/scripts/show_date.sh >>/tmp/date.log
[root@NEO oldboy]# cat /tmp/date.log
2019-04-07 # 3). 脚本写入定时任务
[root@NEO oldboy]# crontab -l |tail -2
# print date to file /tmp/date.log by neo at 20190407
* * * * * /bin/sh /server/scripts/show_date.sh >>/tmp/date.log # /bin/bash + 脚本的名字
[root@NEO oldboy]# # 4). 检查:看日志 ; 看文件的内容
[root@NEO oldboy]# tail -f /var/log/cron [root@NEO oldboy]# tail -f /tmp/date.log
2019-04-07
2019-04-07
2019-04-07
2019-04-07 # 企业故障案例:
# 5. 定时任务中,命令或脚本结果(正确及错误)定向到黑洞 (>/dev/null 2>&1)或追加到文件中 >>/tmp/oldboy.txt 2>&1
[root@NEO ~]# crontab -l
#sync time by neo at 20170407
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1 # 应该定向到黑洞 # append my name to /oldboy/oldboy.txt every minute by neo at 20170407
# * * * * * /bin/echo "NEO" >>/oldboy/oldboy.txt 2>&1 # 遇到追加到文件时, 就不需要追加到黑洞; echo NEO >>/oldboy/oldboy.txt 2>&1 表示 把前面命令的信息追加到文件,无论是对的还是错的信息都追加到这个文件中(对错说的是命令对还是错) # print date to file /tmp/date.log by neo at 20190407
* * * * * /bin/sh /server/scripts/show_date.sh >>/tmp/date.log 2>&1 # 把前面脚本的执行结果追加到文件中,无论对的还是错的都追加到该文件中
[root@NEO ~]# # 故障案例:如果不这么做,会怎么样 ?
# 如果定时任务规则结尾不加 >/dev/null 2>&1 或者追加到文件中 >>/tmp/oldboy 2>&1 ,很容易导致硬盘 inode 空间被占满,从而系统服务不正常 # 定时任务中 命令或脚本的结果 没有定向到空或文件中:
# 1. 邮件的软件没有开启 --- 大量小文件堆积在 /var/spool/postfix/maildrop/ --- inode 满了
# 2. 邮件软件开启了 --- 定时任务会不断的给 root 用户发邮件 --- You have new mail in /var/spool/mail/root # 查看邮件服务有没有开: /etc/init.d/postfix status
[root@NEO ~]# /etc/init.d/postfix status
master (pid 1500) is running...
You have new mail in /var/spool/mail/root
[root@NEO ~]# # 该邮件服务需要关闭:(服务器上的服务开的越少越好)
# /etc/init.d/postfix stop # 临时关闭
# chkconfig postfix off # 不让 postfix 开机运行 # 模拟工作中 邮件服务关闭的情况
[root@NEO ~]# /etc/init.d/postfix stop
Shutting down postfix: [ OK ]
You have new mail in /var/spool/mail/root
[root@NEO ~]# /etc/init.d/postfix stop
[root@NEO ~]# chkconfig postfix off
[root@NEO ~]# chkconfig |grep postfix
postfix 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@NEO ~]# # 关闭邮件服务后, 定时任务没有定向到空,它就会不断的给你发邮件,但是你把邮件关了,系统会把这些发不出去的邮件临时找一个邮件的临时目录放着: /var/spool/postfix/maildrop/ [root@NEO ~]# ll /var/spool/postfix/maildrop/
total 12
-rwxr--r-- 1 root postdrop 499 Apr 7 21:39 16C403F8A7
-rwxr--r-- 1 root postdrop 502 Apr 7 21:42 9CE953F8EC
-rwxr--r-- 1 root postdrop 502 Apr 7 21:36 A1BFC3F899 # 会占用一个 inode
[root@NEO ~]# # 解决办法: 定时任务定向到空或文件中
[root@NEO ~]# crontab -e
[root@NEO ~]# crontab -l
#sync time by neo at 20170407
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1 # append my name to /oldboy/oldboy.txt every minute by neo at 20170407
# * * * * * /bin/echo "NEO" >>/oldboy/oldboy.txt 2>&1 # print date to file /tmp/date.log by neo at 20190407
* * * * * /bin/sh /server/scripts/show_date.sh >>/tmp/date.log 2>&1
[root@NEO ~]# # 定时任务运行脚本环境变量问题;系统与命令位置有关的环境变量问题
# 每分钟 显示当前系统的时间:年-月-日_周 和当前系统的ip地址,追加到 /tmp/ip.log 文件中
# 1). 命令:
[root@NEO ~]# date +%F_%w
2019-04-07_0
[root@NEO ~]# ifconfig eth0 |awk -F "[ :]+" 'NR==2{print $4}'
10.0.0.200 # 2). 脚本:
[root@NEO ~]# vim /server/scripts/ip.sh
[root@NEO ~]# cat /server/scripts/ip.sh
date +%F_%w
ifconfig eth0 |awk -F "[ :]+" 'NR==2{print $4}'
[root@NEO ~]# /bin/sh /server/scripts/ip.sh
2019-04-07_0
10.0.0.200
[root@NEO ~]# /bin/sh /server/scripts/ip.sh >>/tmp/ip.log
[root@NEO ~]# cat /tmp/ip.log
2019-04-07_0
10.0.0.200 # 3). 写到定时任务中
[root@NEO ~]# crontab -e
[root@NEO ~]# crontab -l|tail -2
# print date + ip to file /tmp/ip.log by neo at 201904072314
* * * * * /bin/sh /server/scripts/ip.sh >>/tmp/ip.log 2>&1 [root@NEO ~]# tail -f /var/log/cron
Apr 7 23:14:01 NEO CROND[2329]: (root) CMD (/bin/sh /server/scripts/show_date.sh >>/tmp/date.log 2>&1)
Apr 7 23:15:01 NEO CROND[2334]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1)
Apr 7 23:15:01 NEO CROND[2335]: (root) CMD (/bin/sh /server/scripts/show_date.sh >>/tmp/date.log 2>&1)
Apr 7 23:16:01 NEO CROND[2340]: (root) CMD (/bin/sh /server/scripts/show_date.sh >>/tmp/date.log 2>&1)
Apr 7 23:16:10 NEO crontab[2326]: (root) REPLACE (root)
Apr 7 23:16:10 NEO crontab[2326]: (root) END EDIT (root)
Apr 7 23:16:21 NEO crontab[2343]: (root) LIST (root)
Apr 7 23:17:01 NEO crond[1541]: (root) RELOAD (/var/spool/cron/root)
Apr 7 23:17:01 NEO CROND[2347]: (root) CMD (/bin/sh /server/scripts/show_date.sh >>/tmp/date.log 2>&1)
Apr 7 23:17:01 NEO CROND[2348]: (root) CMD (/bin/sh /server/scripts/ip.sh >>/tmp/ip.log 2>&1) [root@NEO ~]# tail -f /tmp/ip.log
2019-04-07_0
10.0.0.200
2019-04-07_0
/server/scripts/ip.sh: line 2: ifconfig: command not found
2019-04-07_0
/server/scripts/ip.sh: line 2: ifconfig: command not found # 命令找不到的原因: PATH 环境变量的问题 # /server/scripts/ip.sh: line 2: ifconfig: command not found 的解决办法:ifconfig 改为 /sbin/ifconfig
[root@NEO ~]# vim /server/scripts/ip.sh
[root@NEO ~]# cat /server/scripts/ip.sh
date +%F_%w
/sbin/ifconfig eth0 |awk -F "[ :]+" 'NR==2{print $4}'
[root@NEO ~]# [root@NEO ~]# tailf /tmp/ip.log
2019-04-07_0
/server/scripts/ip.sh: line 2: ifconfig: command not found
2019-04-07_0
/server/scripts/ip.sh: line 2: ifconfig: command not found
2019-04-07_0
/server/scripts/ip.sh: line 2: ifconfig: command not found
2019-04-07_0
/server/scripts/ip.sh: line 2: ifconfig: command not found
2019-04-07_0
10.0.0.200
2019-04-07_0
10.0.0.200 # ifconfig 命令就能正常运行 # 定时任务运行脚本的时候可以识别的PATH只有 /usr/bin 和 /bin (echo tar date 命令都在这两个路径中,所以这些命令不用绝对路径也没问题),但 ifconfig 命令需要用绝对路径,因为 ifconfig 命令在 /sbin/ifconfig
[root@NEO ~]# which ifconfig ntpdate
/sbin/ifconfig
/usr/sbin/ntpdate
[root@NEO ~]#
# 解决办法:
1. 命令使用绝对路径
2. 在脚本开头重新定义一下 PATH ,如: export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
JAVA tomcat 里面一般需要重新定义 PATH 环境变量 # 记忆:
/bin /sbin # /
/usr/bin /usr/sbin # /usr
/usr/local/bin /usr/local/sbin # /usr/local

如何删除大量小文件

# 某个目录有大量小文件,删除方法:
# 1. ls |xargs rm
# 2. 删除文件所在的目录(删除之前记录好权限和所有者)
# 创建环境: [root@NEO oldboy]# mkdir -p /test
[root@NEO oldboy]# cd /test
[root@NEO test]# ll
total 0
[root@NEO test]# touch {1..500000}.txt
-bash: /bin/touch: Argument list too long # 创建文件太多,报错;解决办法如下: [root@NEO test]# echo {1..500000}.txt |xargs touch # 创建大量文件
[root@NEO test]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 593344 555467 37877 94% /
tmpfs 60748 1 60747 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
[root@NEO test]# ls |wc -l
500000
[root@NEO test]# pwd
/test
[root@NEO test]# \rm -f *
-bash: /bin/rm: Argument list too long # 文件太多,直接删除也会报错;解决办法: 交给 |xargs 删除: ls |xargs \rm -f
[root@NEO test]# ls |xargs \rm -f
[root@NEO test]# ll
total 0

Linux(6):定时任务的更多相关文章

  1. LINUX 添加定时任务

    LINUX 添加定时任务 crontab - l按 i:x 先按 esc然后 敲入 命令 :x*/5 3 * * 0 /root/ v.sh ..重启服务 service crond restart

  2. Linux之定时任务Crond使用

    Linux之定时任务Crond使用 一.用法 crond服务是linux系统自带的服务,是不需要手动安装的: crond服务是一种守护进程: Linux中的用户使用contab命令来配置corn任务: ...

  3. linux创建定时任务,定时执行sql

    终于弄清楚一个问题了.linux创建定时任务,定时执行sql,其中分为两个case. case-1 sql语句较少,因此直接在 shell脚本中 写sql语句.如下: [oracle@Oracle11 ...

  4. Linux系统定时任务crond那些事

    1 Linux系统定时任务 1.1 定时任务介绍 1.1.1 Crond是什么? Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件.Centos5/ linux系统安装完操作 ...

  5. Linux 新建定时任务

    Linux 新建定时任务: 1.查看指定用户列表: crontab -u apache -l 2.切换至对应用户,这里是apache su apache 3.新增定时任务: crontab -e 写入 ...

  6. 【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...

  7. Linux之定时任务Crond介绍

    Linux之定时任务 定时任务Crond介绍 Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便 ...

  8. linux设置定时任务的方法(自己总结)

    Linux设置定时任务步骤 linux设置定时任务的关键字是:crontab 1:查看现在已经有的定时任务的命令是  crontab -l,执行命令如下图: 2:新建定时任务的命令是:crontab ...

  9. Linux学习之九-Linux系统定时任务

    Linux系统定时任务 在一些实际工作中需要机器在某个时间自动执行某个任务,不需要人为在此时刻参与,可以建立一个定时任务. crond 服务是linux下用来周期性的执行某种任务或等待处理某些事件的一 ...

  10. Linux系统定时任务介绍

    定时任务Crond介绍 1)crond是什么? 守护进程:持续运行的程序,不退出的进程. 为什么要使用crond定时任务呢? 1)Linux下定时任务的种类 at crontab  anacron 2 ...

随机推荐

  1. perl在linux下通过date获取当前时间

    perl处理文件的时候最好添加上 处理的时间戳,获取系统的时间又多种方法,但是反引号是最原始的,不需要其他外界条件和lib的支持. my $now = `date "+%F %T" ...

  2. python代理检测

    import socket,threading,os,sys,queue,re socket.setdefaulttimeout(5) path=sys.path[0] if os.path.isfi ...

  3. shell脚本,awk如何处理文件中上下关联的两行。

    文件d.txt如下内容 ggg 1portals: 192.168.5.41:3260werew 2portals: 192.168.5.43:3260 如何把文件d.txt内容变为如下内容 ggg  ...

  4. path.join()与path.resolve()区别

    1.path.resolve([...paths]) path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径. 给定的路径的序列是从右往左被处理的,后面每个 path 被依次 ...

  5. DFS输出全排列

    前言 输入n(1 <= n <= 20),按字典序输出所有1~n的排列.如果排列数量太多,则只需要输出前100个 输入样例 3 输出样例 1 2 3 1 3 2 2 1 3 2 3 1 3 ...

  6. Ubuntu桌面主题设置以及优化

    安装好Ubuntu后,觉得桌面不太美观,便动了修改主题的想法.听说Flatabulous不错,在网上搜索看过主题效果后也觉得蛮不错的,于是准备修改. 安装Unity Tweak Tool Unity ...

  7. Vector模板类----构造与析构

    /* 基于C++平台*/ typedef int rank; //用int来定义 “秩” 这种概念 #define DEFAULT_CAPACIITY 3 //默认初始容量,实际应用中可以取更大的值 ...

  8. 【LeetCode】Spiral Matrix(螺旋矩阵)

    这是LeetCode里的第54道题. 题目要求: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ...

  9. SQL SERVER 占用资源高的SQL语句

    --SQL SERVER 占用资源高的SQL语句: --查询占用cpu高的前 50 个 SQL 语句 SELECT total_cpu_time,[total_physical_Reads], tot ...

  10. Python中字典的key都可以是什么

    作者:Inotime 来源:CSDN 原文:https://blog.csdn.net/lnotime/article/details/81192207 答:一个对象能不能作为字典的key,就取决于其 ...