赞
踩
1)如果有自己喜欢的电影,公司服务器,晚上访问量小,带宽使用小,此时用个at让晚上下载或白天用batch命令,让内核决定什么时候下载。
2)如何每天0点对数据库备份或etc目录备份。对于每天重复的事情crontab可以解决
3)磁盘满了给root发mail
4)如何实现秒级别的执行命令:在每分钟到达时,运行一个命令,需要60秒,就行了
5)如何实现每7分钟运行一次任务?
6)每4小时备份一次/etc目录至/backup目录中,保存的文件名称格式为“etc-yyyy-mm-dd-HH.tar.xz”;
7)每周2, 4, 7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd”;
8)每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中;
9)工作日时间内,每小执行一次“ip addr show”命令;
batch 根据cpu负载决定何时运行命令
sleep #{s,m,h} 睡
1)如果有自己喜欢的电影,公司服务器,晚上访问量小,带宽使用小,此时用个at让晚上下载或白天用batch命令,让内核决定什么时候下载。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
1、确定时间:例如,0:00 下载
[root@localhost ~]
# at -v 0am tomorrow
Sat Aug 26 00:00:00 2017
2、将你所需要下载的电影链接放在
/tmp/a
.
file
文件中
# vim /tmp/a.file
http:
//dl134
.80s.im:920
/1708/
[醉玲珑]第26集/[醉玲珑]第26集_bd.mp4
http:
//dl134
.80s.im:920
/1708/
[醉玲珑]第25集/[醉玲珑]第25集_bd.mp4
http:
//dl136
.80s.im:920
/1708/
[醉玲珑]第24集/[醉玲珑]第24集_bd.mp4
http:
//dl136
.80s.im:920
/1708/
[醉玲珑]第23集/[醉玲珑]第23集_bd.mp4
http:
//dl138
.80s.im:920
/1708/
[醉玲珑]第22集/[醉玲珑]第22集_bd.mp4
http:
//dl138
.80s.im:920
/1708/
[醉玲珑]第21集/[醉玲珑]第21集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第20集/[醉玲珑]第20集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第19集/[醉玲珑]第19集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第18集/[醉玲珑]第18集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第17集/[醉玲珑]第17集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第16集/[醉玲珑]第16集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第15集/[醉玲珑]第15集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第14集/[醉玲珑]第14集_bd.mp4
http:
//dl133
.80s.im:920
/1708/
[醉玲珑]第13集/[醉玲珑]第13集_bd.mp4
http:
//dl127
.80s.im:920
/1707/
[醉玲珑]第12集/[醉玲珑]第12集_bd.mp4
http:
//dl127
.80s.im:920
/1707/
[醉玲珑]第11集/[醉玲珑]第11集_bd.mp4
http:
//dl127
.80s.im:920
/1707/
[醉玲珑]第10集/[醉玲珑]第10集_bd.mp4
http:
//dl127
.80s.im:920
/1707/
[醉玲珑]第09集/[醉玲珑]第09集_bd.mp4
http:
//dl130
.80s.im:920
/1707/
[醉玲珑]第08集/[醉玲珑]第08集_bd.mp4
http:
//dl130
.80s.im:920
/1707/
[醉玲珑]第07集/[醉玲珑]第07集_bd.mp4
http:
//dl132
.80s.im:920
/1707/
[醉玲珑]第06集/[醉玲珑]第06集_bd.mp4
http:
//dl132
.80s.im:920
/1707/
[醉玲珑]第05集/[醉玲珑]第05集_bd.mp4
http:
//dl131
.80s.im:920
/1707/
[醉玲珑]第04集/[醉玲珑]第04集_bd.mp4
http:
//dl131
.80s.im:920
/1707/
[醉玲珑]第03集/[醉玲珑]第03集_bd.mp4
http:
//dl132
.80s.im:920
/1707/
[醉玲珑]第02集/[醉玲珑]第02集_bd.mp4
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
3、生成脚本:
[root@localhost ~]
# touchsc
Enter a script pathname[default: working directory]:
/tmp/a
.sh
script pathname:
/tmp/a
.sh
[root@localhost ~]
# vim /tmp/a.sh
#!/bin/bash
# Version: 0.0.14
# Author: Lcc.org
# Description: Small toys
PATH=
/bin
:
/sbin
:
/usr/bin
:
/usr/sbin
CONFIG_FILE=
/tmp/a
.
file
[ -s $CONFIG_FILE ] && wget -q -c -i $CONFIG_FILE -P ~
/VIDEO
|
1
2
3
4
5
|
4
、测试脚本能否正常运行
测试脚本语法
[root@localhost ~]# bash -n /tmp/a.sh
测试命令执行
[root@localhost ~]# bash /tmp/a.sh
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
5、生成任务
[root@localhost ~]
# at -f /tmp/a.sh -v now
Fri Aug 25 15:33:00 2017
job 17 at 2017-08-25 15:33
2)
[root@localhost ~]
# echo "/bin/bash /tmp/a.sh" | at now
[root@localhost ~]
# at -l
16 2017-08-25 15:28 = root
##正在执行的任务
3) [root@localhost ~]
# at now < /tmp/a.sh
4) [root@localhost ~]
# batch
[root@localhost ~]
# batch
at>
/bin/bash
/tmp/a
.sh
at> <EOT>
job 18 at 2017-08-25 15:39
[root@localhost ~]
# at -l
18 2017-08-25 15:39 = root
|
1
2
3
|
6、查看任务
[root@localhost ~]
# atq
15 2017-08-26 00:00 a root
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
7、查看任务属性
[root@localhost ~]
# at -c 15
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask
22
HOSTNAME=localhost.localdomain;
export
HOSTNAME
SHELL=
/bin/bash
;
export
SHELL
HISTSIZE=1000;
export
HISTSIZE
SSH_CLIENT=192.168.1.100\ 53158\ 22;
export
SSH_CLIENT
SSH_TTY=
/dev/pts/2
;
export
SSH_TTY
USER=root;
export
USER
LS_COLORS=rs=0:di=01\;34:
ln
=01\;36:mh=00:pi=40\;33:so=01\;35:
do
=01\;35:bd=40\;33\;01:
cd
=40\;33\;01:or=40\;31\;01:mi=01\;05\;37\;41:
su
=37\;41:sg=30\;43:ca=30\;41:tw=30\;42:ow=34\;42:st=37\;44:ex=01\;32:\*.
tar
=01\;31:\*.tgz=01\;31:\*.arj=01\;31:\*.taz=01\;31:\*.lzh=01\;31:\*.lzma=01\;31:\*.tlz=01\;31:\*.txz=01\;31:\*.zip=01\;31:\*.z=01\;31:\*.Z=01\;31:\*.dz=01\;31:\*.gz=01\;31:\*.lz=01\;31:\*.xz=01\;31:\*.bz2=01\;31:\*.tbz=01\;31:\*.tbz2=01\;31:\*.bz=01\;31:\*.tz=01\;31:\*.deb=01\;31:\*.rpm=01\;31:\*.jar=01\;31:\*.rar=01\;31:\*.ace=01\;31:\*.zoo=01\;31:\*.cpio=01\;31:\*.7z=01\;31:\*.rz=01\;31:\*.jpg=01\;35:\*.jpeg=01\;35:\*.gif=01\;35:\*.bmp=01\;35:\*.pbm=01\;35:\*.pgm=01\;35:\*.ppm=01\;35:\*.tga=01\;35:\*.xbm=01\;35:\*.xpm=01\;35:\*.tif=01\;35:\*.tiff=01\;35:\*.png=01\;35:\*.svg=01\;35:\*.svgz=01\;35:\*.mng=01\;35:\*.pcx=01\;35:\*.mov=01\;35:\*.mpg=01\;35:\*.mpeg=01\;35:\*.m2v=01\;35:\*.mkv=01\;35:\*.ogm=01\;35:\*.mp4=01\;35:\*.m4v=01\;35:\*.mp4v=01\;35:\*.vob=01\;35:\*.qt=01\;35:\*.nuv=01\;35:\*.wmv=01\;35:\*.asf=01\;35:\*.
rm
=01\;35:\*.rmvb=01\;35:\*.flc=01\;35:\*.avi=01\;35:\*.fli=01\;35:\*.flv=01\;35:\*.gl=01\;35:\*.dl=01\;35:\*.xcf=01\;35:\*.xwd=01\;35:\*.yuv=01\;35:\*.cgm=01\;35:\*.emf=01\;35:\*.axv=01\;35:\*.anx=01\;35:\*.ogv=01\;35:\*.ogx=01\;35:\*.aac=01\;36:\*.au=01\;36:\*.flac=01\;36:\*.mid=01\;36:\*.midi=01\;36:\*.mka=01\;36:\*.mp3=01\;36:\*.mpc=01\;36:\*.ogg=01\;36:\*.ra=01\;36:\*.wav=01\;36:\*.axa=01\;36:\*.oga=01\;36:\*.spx=01\;36:\*.xspf=01\;36:;
export
LS_COLORS
MAIL=
/var/spool/mail/root
;
export
MAIL
PATH=
/usr/local/sbin
:
/usr/local/bin
:
/sbin
:
/bin
:
/usr/sbin
:
/usr/bin
:
/root/bin
;
export
PATH
PWD=
/root
;
export
PWD
LANG=en_US.UTF-8;
export
LANG
SSH_ASKPASS=
/usr/libexec/openssh/gnome-ssh-askpass
;
export
SSH_ASKPASS
HISTCONTROL=ignoredups;
export
HISTCONTROL
SHLVL=1;
export
SHLVL
HOME=
/root
;
export
HOME
LOGNAME=root;
export
LOGNAME
SSH_CONNECTION=192.168.1.100\ 53158\ 192.168.1.103\ 22;
export
SSH_CONNECTION
LESSOPEN=\|\|
/usr/bin/lesspipe
.sh\ %s;
export
LESSOPEN
G_BROKEN_FILENAMES=1;
export
G_BROKEN_FILENAMES
OLDPWD=
/root/ZhanLang_2
;
export
OLDPWD
cd
/root
|| {
echo
'Execution directory inaccessible'
>&2
exit
1
}
${SHELL:-
/bin/sh
} <<
'marcinDELIMITER77c08de9'
/bin/bash
/tmp/a
.sh >
/dev/null
marcinDELIMITER77c08de9
|
2)如何每天0点对数据库备份或etc目录备份。对于每天重复的事情crontab可以解决
1
2
3
4
|
备份etc目录方法
# zip -r /backup/etc-`date +%F_%T`.zip /etc
# tar Jcf /backup/etc-`date +%F_%T`.tar.xz /etc
***周期性任务计划的%有特殊意义
|
1
2
3
4
5
6
7
8
9
|
1、编辑
/etc/crontab
* * * * * user-name
command
to
exec
0 0 * * * root
/bin/tar
Jcf
/tmp/XUE
.
file
.
tar
.xz
/etc
2、
crontab
[-u user] 命令
* * * * *
command
to
exec
0 0 * * *
/usr/bin/zip
-r
/tmp/xue
.
file
/etc
|
3)磁盘满了给root发mail
echo -e "$(df -hP | grep -v ^Filesystem | awk -v percent=4 '{split($5,ARRAY,"%"); if (ARRAY[1] >= percent){A[$NF]++}}END {for (i in A) {print i}}') \n amost full" | mail root
1、在/etc/crontab中定义
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@localhost scripts]# which echo
/bin/echo
[root@localhost scripts]# which awk
/bin/awk
[root@localhost scripts]# which grep
/bin/grep
[root@localhost ~]# which df
/bin/df
[root@localhost ~]# which mail
/bin/mail
[root@localhost scripts]# vim /etc/crontab
0
0
* * * root /bin/echo -e
"$(/bin/df -hP | /bin/grep -v ^Filesystem | /bin/awk -v percent=40 '{split($5,ARRAY,"
\%
"); if (ARRAY[1] >= percent){A[$NF]++}}END {for (i in A) {print i}}') \n amost full"
| /bin/mail -s
'hello xue'
root
|
4)如何实现秒级别的执行命令:在每分钟到达时,运行一个命令,需要60秒,就行了
1
2
3
|
[root@localhost scripts]
# crontab -l
55 21 * * *
for
i
in
1 2 3;
do
/bin/echo
'Howdy!'
sleep
20;
done
## 每个小时到达21:55分时,就执行后面的命令,后面的命令执行3次每次20秒,所以执行1分钟
|
5)如何实现每7分钟运行一次任务?
6)每4小时备份一次/etc目录至/backup目录中,保存的文件名称格式为“etc-yyyy-mm-dd-HH.tar.xz”;
1
2
|
# install -d /backup
0
* */
4
* * /bin/tar Jcvf /backup/etc-`/bin/date +\%F_\%T`.tar.xz /etc
|
7)每周2, 4, 7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd”;
1
|
0
0
* *
2
,
4
,
7
/bin/cp -a /
var
/log/messages /logs/messages-`date +\%y\%m\%d`
|
8)每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中;
1
|
0
*/
2
* * * /bin/egrep
'^S|^M'
/proc/meminfo >> /tmp/meminfo.txt
|
9)工作日时间内,每小执行一次“ip addr show”命令;
1
|
0
* * *
1
-
5
/sbin/ip addr show
|
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。