【shell】使用 /dev/null crontab

1.linux组成kernel、shell、工具程序有sh.bash

一个例子

!#/bin/bash

echo ‘‘

执行之前chmod +x

执行./

2.一个小窍门 cp /dev/null /var/log/apache2/access.log

利用/dev/null来晴空apache2中的日志文件

注释:把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.

禁止标准输出.

   1 cat $filename >/dev/null
   2 # 文件内容丢失,而不会输出到标准输出.

禁止标准错误 (来自例子 12-3).

   1 rm $badname 2>/dev/null
   2 #           这样错误信息[标准错误]就被丢到太平洋去了.

禁止标准输出和标准错误的输出.

   1 cat $filename 2>/dev/null >/dev/null
   2 # 如果"$filename"不存在,将不会有任何错误信息提示.
   3 # 如果"$filename"存在, 文件的内容不会打印到标准输出.
   4 # 因此Therefore, 上面的代码根本不会输出任何信息.
   5 #
   6 #  当只想测试命令的退出码而不想有任何输出时非常有用。
   7 #
   8 #
   9 # cat $filename &>/dev/null
  10 #     也可以, 由 Baris Cicek 指出.

例子 28-1. 隐藏cookie而不再使用

   1 if [ -f ~/.netscape/cookies ]  # 如果存在则删除.
   2 then
   3   rm -f ~/.netscape/cookies
   4 fi
   5 
   6 ln -s /dev/null ~/.netscape/cookies
   7 # 现在所有的cookies都会丢入黑洞而不会保存在磁盘上了.

1>/dev/null 2>&1的含义

shell中可能经常能看到:>/dev/null 2>&1

命令的结果可以通过%>的形式来定义输出

/dev/null 代表空设备文件
> 代表重定向到哪里,例如:echo "123" >
/home/123.txt
1
表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"

2 表示stderr标准错误
&
表示等同于的意思,2>&1,表示2的输出重定向等同于1

那么本文标题的语句:
1>/dev/null
首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1 接着,标准错误输出重定向等同于
标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

来源:http://www.yunwei.org/read.php?18

小窍门 IO重定向 ls>1.txt
将结果进行保存到文件

3、利用crontab在自动清理log文件

只用把上面的sh文件写到crontab中

 使用权限 : root用户和crontab文件的所有者   


crontab格式

语法 :   crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v
[UserName]|File ]   说明 :   crontab
是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user
的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user
的话,就是表示设定自己的时程表。   参数 :   -e [UserName]:
执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL
环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)   -r [UserName]: 删除目前的时程表
  -l [UserName]: 列出目前的时程表

  -v [UserName]:列出用户cron作业的状态

例子 crontab -u root
-e就可以打开vi了

然后写入0 6 * * * /root/clearlog.sh
表示每日早上6点就会执行

0 * * * * /bin/ls 每月每天每小时的第 0 分钟执行一次 /bin/ls

*/20 6-12 * 12 * /usr/bin/backup

在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次
/usr/bin/backup

20
0-23/2 * * * echo "haha"

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo
"haha"

4、部署bash
shell的环境

echo
$SHELL 看shell版本 /bin/bash

我们可以从网上下源码
bash-3.2.48.tar.gz

解压./configure
也可以通过--prefix=/home/ols32来指定安装目录

编译 make 测试 make tests

  

5、登陆ssh
如果没有指定帐号 例 ssh 192.168.1.2 相当于以root登陆

     
或者ssh 帐号@ip 例如 ssh [email protected]

时间: 2024-08-25 18:43:46

【shell】使用 /dev/null crontab的相关文章

shell之“>/dev/null 2>&1”

今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚! shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:“>/dev/null 2>&1” 为五部分. 1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt 2:/dev/null 代表空设备文件 3:2> 表示stderr标准错

shell中>/dev/null 2>&1

本文转自http://www.kissyu.org/ 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的"玄机". shell重定向介绍 就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置.在交互式的程序中,输入来自用户的键

【Shell脚本学习24】Shell输入输出重定向:Shell Here Document,/dev/null文件

Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出重定向 命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向. 命令输出重定向的语法为: $ command > file 这样,输出到显示器的内容就可以被重定向到文件. 例如,下面的命令在显示器上不会看到任何输出: $ who > users 打开 users 文件,可以看到下面的内容: $ cat

crontab 常见 /dev/null 2>&1 详解

大部分 crontab 计划任务,在命令行末尾都会带 >/dev/null 2>&1,它的作用是什么呢? 以下为其详解: > 代表重定向: /dev/null 代表空设备文件,相当于回收站.null是一个名叫null小桶的东西,将输出重定向到它的好 处是:不会因为输出的内容过多而导致文件大小不断的增加,也就是将命令的输出扔掉了. 1 表示stdout标准输出,系统默认值是1,所以">/dev/null" 等同于 "1>/dev/null&

shell中可能经常能看到:>/dev/null 2>&1

命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 那么本文标题的语句: 1>/dev/null

shell输出的那个垃圾桶——/dev/null

昨晚花费一整晚在知乎回答了一个关于shell里面的重定向输出到/dev/null的问题.果断今晚也同步发在这里,反正也没人看~~~~ 以下来自一个重度linux使用患者不请自来的回答. 先用简单的语言回答题主的问题: shell程序中 2> /dev/null 代表什么意思? 答:"2> /dev/null" 代表忽略掉错误提示信息. 如题 2> 代表什么意思?讲错误输出删除? 答:"2>" 代表重定向操作错误提示信息.只有这两个字符并不能删

​shell中经常能看到的:>/dev/null 2>&1

shell中可能经常能看到:>/dev/null 2>&1  /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "1111" > /home/a.txt     1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"     2 表示stderr标准错误     & 表示等同于的意思,2>&1,表示2的输出

Shell中的>/dev/null 2>&1 与 2>&1 >/dev/null 与&>/dev/null 的区别

默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: >/dev/null 2>&1  //  实际上,应该等同于这样: 1>/dev/null 2>/dev/null ,默认情况下就是1,标准输出,所以一般都省略. 而&符号,后面接的是必须的文件描述符.不能写成2>1,这样就成了标准错误重定向到文件名为1的文件中了,

Shell标准输出、标准错误 >/dev/null 2>&1

Shell中可能经常能看到:>/dev/null  2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print $4}'` 1>/dev/null 2>/dev/null 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是