标签:目录 查看 正则表达 crond alt script ifconfig 结果 you
作者:George
归档:学习笔记
2018/1/4
情况一:追加到文件 >> /tmp/time.log 2>&1 (相当于>> /tmp/time.log 2>>/tmp/time.log )
注:1. 也可以这么写:&>> /tmp/time.log
2. 如果脚本执行错误,就会把显示到屏幕上的错误信息追加到这文件中。
3. 如果执行成功屏幕上没有任何提示,所以就没有信息写入文件。
情况二:定向到空 > /dev/null 2>&1 :把前面命令的正确和错误的 结果都定向到黑洞中
注: 也可以这么写:&>/dev/null
解:这样很容易导致硬盘Inode满了,从而导致服务器不正常。
1)postfix开启的时候,系统会不断的给你发邮件
所以会提示:You have new mail in /var/spool/mail/root
注:会导致这个邮件var/spool/mail/root越来越大
2)postfix关闭的时候,会把邮件存放在邮件临时目录
邮件临时目录:/var/spool/postfix/maildrop/
注:也会占用大量Inode
1. 缩小范围删除 ls 1*.txt |xargs rm
2. 全部删除(文件太多有可能失败) ls *.txt |xargs rm
3. ls *.txt |xargs -n数字 rm
4. 删除目录
echo {1..500000}.txt |xargs touch
如:tar zcvf 中的v (显示详细过程),可省略
1.测试命令
[root@georgekai /]# cd / && tar zcf /tmp/etc-$(date +%F).tar.gz etc/
注:最好进入被打包文件的上一层目录,使用相对路径打包
2.写入脚本中
[root@georgekai /]# echo "/bin/tar zcf etc-$(date +%F).tar.gz etc" > /server/scripts/etc.sh
3.检查脚本是否可用
[root@georgekai /]# sh /server/scripts/etc.sh
注:测试脚本时,是否会显示到指定文件,取决于命令的作用是否会显示到屏幕上。
#tar etc
* * * * * /bin/sh /server/scripts/etc.sh > /dev/null 2>&1
注:sh -x :显示脚本执行过程 (里面的+号表示层次)
4.查看日志或看看是否执行成功
[root@georgekai /]# tail -f /var/log/cron
Jan 4 09:49:02 georgekai CROND[5590]: (root) CMD (/bin/sh /server/scripts/date.sh >> /tmp/time.log 2>&1)
5. 根据实际要求在定时任务中修改时间
#tar et
00 01 * * * /bin/sh /server/scripts/etc.sh > /dev/null 2>&1
如:ifconfig ip 会找不到路径
注:1. 定时任务运行命令时不影响
2. 只有在定时任务运行脚本时,PATH才只认识2个路径。
解决方法:
方法一:使用命令的绝对路径
方法二:PATH在脚本的开头重新定义一下
将这条命令写入脚本的开头:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
什么时候用方法2:tomcat
注:请参考http://oldboy.blog.51cto.com/2561410/1541515
方法三:脚本中写入“ source /etc/profile”
系统定时任务配置文件:/etc/crontab
用户定时任务配置文件:/var/spool/cron/root
1. 测试命令
[root@georgekai ~]# cd / && tar zcf /tmp/svr.tar.gz etc/services
2. 写入脚本
[root@georgekai ~]# echo "cd / && tar zcf /tmp/svr.tar.gz etc/services" > /server/scripts/svr.sh
3. 测试脚本
[root@georgekai ~]# sh /server/scripts/svr.sh
[root@georgekai ~]# ll /tmp/
4. 写入定时任务
[root@georgekai ~]# crontab -e
#backup /etc/services
00 */2 * * * /bin/sh /server/scripts/svr.sh >/dev/null 2>&1
5. 查看日志和命令执行效果
[root@georgekai ~]# tail -f /var/log/cron
[root@georgekai ~]#ll /tmp/
1. 测试命令
[root@georgekai /]# cd /var/www/ && tar zcf /data/html-$(date +%F_%H).tar.gz html/
[root@georgekai /]# ls /data/
html-2018-01-04_12.tar.gz
2. 写入脚本
[root@georgekai /]# echo "cd / && tar zcf /data/html-$(date +%F_%H).tar.gz var/www/html" > /server/scripts/html.sh
3. 测试脚本
[root@georgekai /]# sh /server/scripts/html.sh
[root@georgekai /]# ls /data/
html-2018-01-04_12.tar.gz
4.写入定时任务测试每分钟的效果
#backup /var/www/html
* * * * * /bin/sh /server/scripts/html.sh >/dev/null 2>&1
5.查看日志和测试命令执行的效果
[root@georgekai /]# tail -f /var/log/cron
Jan 4 12:12:01 georgekai CROND[1438]: (root) CMD (/bin/sh /server/scripts/html.sh >/dev/null 2>&1)
[root@georgekai /]# ll /data/
total 4
-rw-r--r--. 1 root root 117 Jan 4 12:13 html-2018-01-04_12.tar.gz
6. 根据实际情况修改时间
#backup /var/www/html
00 00 * * * /bin/sh /server/scripts/html.sh >/dev/null 2>&1
代替学习)。
00 09,14 * * * /bin/sh /server/scripts/oldboy.sh > /dev/null 2>&1
/etc/sysctl.conf linux内核配置文件
/etc/rc.local 开机自启的软件
/etc/hosts 解析主机名与ip的对应关系
/etc/fstab 开机自动挂载
/var/log/secure 用户登录信息
^ 以什么什么开头
$ 以什么什么结尾
.(点号) 任意一个字符,包括空格
\ 转义符号
* 前一个字符连续出现0次或0次以上
{n,m} 前一个字符连续最少出现n次,最多出现m次
[^t] 排除带有t这字符的行
^[^t] 排除以t开头的行
退出保存
wq
wq!
强制退出,不保存
q!
光标移动到文件的最后一行
G 或:$
光标移动到文件的第一行
gg
从光标所在位置将光标移动到当前行的开头 ^
从光标所在位置将光标移动到当前行的结尾 $
取消上一次的动作 u
删除一行 dd
删除当前行到文件的最后一行 dG
向上搜索 /
向上搜索 ?
vim如何查询 :help G
:help :wq
:h G
:h :wq
1. 定时任务与故障案例,没有定向到空或追加到文件
2. 环境变量故障
如:linux定时任务生产java服务无法定向到空或追加到文件
请参考http://oldboy.blog.51cto.com/2561410/1541515
3. 定时任务练习题
4. vi/vim快捷键
标签:目录 查看 正则表达 crond alt script ifconfig 结果 you
原文地址:http://blog.51cto.com/13055758/2057441