mail,at,batch,sleep小练习
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
|
mail,at,batch,sleep小练习相关推荐
- 浅析深度学习中Batch Size大小对训练过程的影响
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨陈志远@知乎(已授权) 来源丨https://zhuanlan ...
- pytorch手动实现梯度下降法,随机梯度法--基于logistic Regression并探索Mini batch作用
简述 基于这次凸优化的大项目作业. 下面会围绕着通过logistic Regression来做MNIST集上的手写数字识别~ 以此来探索logistic Regression,梯度下降法,随机梯度法, ...
- batch size 训练时间_深度学习 | Batch Size大小对训练过程的影响
转自:面试中问你 Batch Size大小对训练过程的影响mp.weixin.qq.com 先看两个问题: (1)深度学习中batch size的大小对训练过程的影响是什么样的? (2)有些时候不可 ...
- 从动力学角度看优化算法SGD:一些小启示
作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 在本文中,我们来关心优化算法 SGD(stochastic gradient descent,随机 ...
- 深度学习中 Batch Size 对训练过程的影响
作者 | 陈志远 编辑丨极市平台 之前面试过程中被问到过两个问题: (1)深度学习中batch size的大小对训练过程的影响是什么样的? (2)有些时候不可避免地要用超大batch,比如人脸识别,可 ...
- Batch Normalization和Dropout
目录 导包和处理数据 BatchNorm forward backward 训练BatchNorm并显示结果 Batch Normalization 和初始化 Batch Normalization ...
- Batch Size 对训练的影响
作者 陈志远@知乎 编辑 极市平台 侵删 来源 https://zhuanlan.zhihu.com/p/83626029 之前面试过程中被问到过两个问题: (1)深度学习中batch size的大 ...
- 深入剖析深度学习中Batch Size大小对训练过程的影响
点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 推荐文章[点击下面可直接跳转]: 来源:https://z ...
- linux命令sendmail,linux CentOS6的mail/sendmail命令发送电子邮件实现
我经常使用linux也是因为工作都需要在linux centos6中操作,下面来介绍我在linux 中使用mail命令实现邮件发送的方法过程. 由于经常工作在下,所以很多时候需要将自己工作的报告或其他 ...
最新文章
- IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc
- 高斯模糊与高反差保留
- iphone android 开发指南 http://mobile.tutsplus.com
- if you miss it, you can hope for future
- SpringMVC拦截器-用户登录权限控制代码实现1
- UVA - 572 Oil Deposits-dfs找连通块
- 《程序员修炼之道:从小工到专家》阅读笔记03
- [转] Lodash
- Extjs 4 MVC中全局配置文件
- SQL Server :理解GAM和SGAM页
- OPENCV中操作鼠标
- 极客大学产品经理训练营 用例Use Case 第8课总结
- 一款超好用的企业级URL采集软件(Msray-plus)
- 猫哥教你写爬虫 037--爬虫-宝宝要听歌
- [Js_Testing]3分钟学会Mocha+Chai单元测试
- 如何创建项目管理工作流程?
- Flag壁纸生成器诞生记
- 搭建电商系统平台需要多少钱?
- 我是一个下「笨功夫」的人
- jQuery之从零开始的学习(完整整理)
热门文章
- 蜜源如何快速做到月入过万
- python的if-else语法
- 微信的服务器 上海,昨下午部分用户无法收发文字信息和登录 
微信回应:上海机房服务器发生故障 现已恢复...
- 计算机分盘的时候c盘留多少,电脑分盘c盘多大合适
- 《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf
- mysql char存汉子_char如何存储汉字
- java 数组的扩容,缩容,插入元素,查找元素 详解(通俗易懂)
- 二阶常系数齐次线性微分方程通解的求取
- k8s之滚动更新、金丝雀发布、蓝绿发布
- 苏州大学计算机专业课872考研真题1999~2022含答案解析大纲专业课PPT 百度网盘分享 黄金典藏版