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、确定时间:例如,0:00 下载 
[[email protected] ~]# 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
 
3、生成脚本:
[[email protected] ~]# touchsc 
Enter a script pathname[default: working directory]: /tmp/a.sh
script pathname: /tmp/a.sh

[[email protected] ~]# 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
4、测试脚本能否正常运行
测试脚本语法
[[email protected] ~]# bash -n /tmp/a.sh
测试命令执行
[[email protected] ~]# bash  /tmp/a.sh
5、生成任务
[[email protected] ~]# at -f /tmp/a.sh -v now
Fri Aug 25 15:33:00 2017

job 17 at 2017-08-25 15:33

2)
[[email protected] ~]# echo "/bin/bash /tmp/a.sh" | at now
[[email protected] ~]# at -l
16	2017-08-25 15:28 = root ##正在执行的任务

3) [[email protected] ~]# at now < /tmp/a.sh

4) [[email protected] ~]# batch
[[email protected] ~]# batch
at> /bin/bash /tmp/a.sh
at> <EOT>
job 18 at 2017-08-25 15:39
[[email protected] ~]# at -l
18	2017-08-25 15:39 = root
6、查看任务
[[email protected] ~]# atq
15	2017-08-26 00:00 a root
7、查看任务属性
[[email protected] ~]# 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可以解决

备份etc目录方法
# zip -r /backup/etc-`date +%F_%T`.zip /etc
# tar Jcf /backup/etc-`date +%F_%T`.tar.xz /etc
***周期性任务计划的%有特殊意义
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中定义

[[email protected] scripts]# which echo
/bin/echo
[[email protected] scripts]# which awk
/bin/awk
[[email protected] scripts]# which grep
/bin/grep
[[email protected] ~]# which df
/bin/df
[[email protected] ~]# which mail
/bin/mail

[[email protected] 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秒,就行了

[[email protected] 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”;

# 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”;

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文件中;

0 */2 * * * /bin/egrep ‘^S|^M‘ /proc/meminfo >> /tmp/meminfo.txt

9)工作日时间内,每小执行一次“ip addr show”命令;

0 * * * 1-5 /sbin/ip addr show
时间: 2024-10-10 02:55:53

mail,at,batch,sleep小练习的相关文章

计划任务和周期任务mail,at,batch,atq, atrm, cron, crontab

Linux上的任务计划: 任务计划: 在未来时间点一次性执行某任务:at,batch 周期性执行某任务:crontab 电子邮件服务: 查看邮件服务是否启动:netstat -tlnup |grep "25" //25 port  smtpservice normal 默认收发邮件仅能在本机上的用户间进行,且只能通过回环接口上的地址进行 smtp:simple mail transmission protocol /var/spool/mail/USERNAME pop3: posto

使用Linux的mail命令发送邮件

由于经常工作在linux下,所以很多时候需要将自己工作的报告或其他有用的东东发送给相关的人,所以花时间研究了一下在linux下如何发送mail.我们通常能用到下面3中发送方式: 1. 使用Shell当编辑器发送邮件 这种方式可以直接在shell窗口编辑邮件正文,当编辑完成之后使用Ctrl+D退出,同时邮件也会被发送出去 # -s后面是邮件的主题,主题后面是目标邮件地址[[email protected] ~]# mail -s “Lucky mail” [email protected] Hi

Spark Streaming中动态Batch Size深入及RateController解析

本期内容 : BatchDuration与 Process Time 动态Batch Size Spark Streaming中有很多算子,是否每一个算子都是预期中的类似线性规律的时间消耗呢? 例如:join操作和普通Map操作的处理数据的时间消耗是否会呈现出一致的线性规律呢,也就是说,并非数据量规模越大就是简单加大BatchDuration 就可以解决问题的,数据量是一个方面,计算的算子也是一个考量的因素. 使用BatchSize来适配我们的流处理程序 : 线上的处理程序越来越重要,流入的数据

谢烟客---------Linux之邮件服务及任务计划执行

任务计划命令 mail,at,batch,crond,sleep 邮件服务工作模式: 发 代理-> stmp --> smtp --> 投递代理 --> 邮筒 --> pop3,imap4 <-- 代理 <-- 收 at,mail,batch,cron命令均建议用完整路径或在脚本中定义PATH 特点: mail -s '主题' [email protected] 发邮件 batch 根据负载选定命令执行时间 at HH:MM am|pm [YYYY-MM-DD]

机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size

机器学习算法中如何选取超参数:学习速率.正则项系数.minibatch size 本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习算法中,如何选取初始的超参数的值.(本文会不断补充) 学习速率(learning rate,η) 运用梯度下降算法进行优化时,权重的更新规则中,在梯度项前会乘以一个系数,这个系数就叫学习速率η.下面讨论在训练时选取η的策略. 固定的学习速率.如果学习速率太小,则会使收敛过慢,如果学习速率太大,则会导致代价

kvm性能优化方案

kvm性能优化方案 kvm性能优化,主要集中在cpu.内存.磁盘.网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节. cpu 在介绍cpu之前,必须要讲清楚numa的概念,建议先参考如下两篇文章 CPU Topology 玩转cpu-topology 查看cpu信息脚本: #!/bin/bash # Simple print cpu topology # Author: kodango function get_nr_proc

如何选取一个神经网络中的超参数hyper-parameters

1.什么是超参数 所谓超参数,就是机器学习模型里面的框架参数.比如聚类方法里面类的个数,或者话题模型里面话题的个数等等,都称为超参数.它们跟训练过程中学习的参数(权重)是不一样的,通常是手工设定的,经过不断试错来调整,或者对一系列穷举出来的参数组合一通枚举(叫做网格搜索).深度学习和神经网络模型,有很多这样的参数需要学习. 2.一些启发式规则 在实际应用中,当你使用神经网络去解决问题时,很难找到好的超参数.假设我们现在正在处理MINIST数据库的问题,并且对超参数是如何使用的一无所知.假设我们大

HAproxy、Lvs、Ngixn代理服务器对比

Nginx分析:优点:工作在七层,正则表达式比HAproxy强大并发量可以达到几万次nginx还可以作为web服务器使用缺点:仅支持http.https.mail协议,应用面小监控检查仅通过端口,无法使用url检查 HAproxy优点:可以通过url进行健康检查效率.负载均衡速度.高于Nginx.低于lvsHAproxy支持TCP,可以对mysql进行负载均衡调度算法丰富缺点:正则弱于Nginx日志依赖于syslogd,不支持apache日志 LVS分析优点:负载能力强.工作在4层,内存.cpu

YOLOv3 训练自己的数据附优化与问题总结

YOLOv3 训练自己的数据附优化与问题总结 环境说明 系统:ubuntu16.04 显卡:Tesla k80 12G显存 python环境: 2.7 && 3.6 前提条件:cuda9.0 cudnn7.0 opencv3.4.0 安装cuda和cudnn教程 安装opencv3.4.0教程 实现YOLOV3的demo 首先安装darknet框架,官网链接 git clone https://github.com/pjreddie/darknet.git cd darknet vim M