2013-09-23 shell练习题

回复 收藏
请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2013-09-23.log, 并且把磁盘的使用情况写到到这个文件中。

{{{密码回复可见}}}
2013-09-23 09:25 1 条评论 举报
已邀请:
0

周卫

赞同来自:

查看答案
0

wy1112980

赞同来自:

a=`date +%Y-%m-%d`
echo "Now today is $a"
touch /tmp/shell/$a\.log
df -h >/tmp/shell/$a\.log
echo "It's OK!"
0

kevinjin

赞同来自:

#!/bin/bash
for date in `date +%F`
do
    touch /root/shell_practice/$date.log
    df -h > /root/shell_practice/$date.log
done
0

午夜DJ

赞同来自:

本帖最后由 午夜DJ 于 2016-7-23 23:16 编辑

1:#! /bin/bash     logfile=`date +%F`.log
   df -h > $logfile
0

十月鱼

赞同来自:

学习
0

15812926028

赞同来自:

look
0

guo

赞同来自:

1
0

wy1028

赞同来自:

{:4_91:}
0

Supernatural - 个人博客:http://www.cnblogs.com/yshan13/

赞同来自:

本帖最后由 Supernatural 于 2016-8-15 15:20 编辑

#!/bin/bash
date1=`date +"%Y-%m-%d"`
logfile=$date1.log
df -lh > $logfile

在使用crontab加入执行时间
0

riverxyz

赞同来自:

本帖最后由 riverxyz 于 2016-8-19 16:01 编辑

vim df.sh
#/bin/bash
df=`date +%F`
/bin/df -h > /tmp/$df.log
:qw
chmod a+x df.sh
cronttab -e
0 0 * * * /bin/bash df.sh
0

hmh

赞同来自:

A
0

linuxcp

赞同来自:

{:4_91:}
0

13805775620

赞同来自:

看看思路
0

xyl5869

赞同来自:

学习学习
0

泡面的幸福

赞同来自:

学习学习
0

415222090

赞同来自:

echo `df -l` >  `date +%Y-%m-%d`.log 。。。
0

liuyunge

赞同来自:

学习
0

liuyunge

赞同来自:

#!/bin/bash  ## aa=`df -h` echo "$aa">>$(date +%F).log
0

liuyunge

赞同来自:

0 0 * * * /bin/sh /usr/local/sbin/cd.sh
0

J_C

赞同来自:

答案
0

青青河边柳

赞同来自:

学习学习
0

EvilAnne - m

赞同来自:

fdinfo=`fdisk -l`
timeinfo=`date +"%Y-%m-%d"`

没写过shell,没思路想不出来。
0

EvilAnne - m

赞同来自:

#!/bin/bash

#请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2013-09-23.log, 并且把磁盘的使用情况写到到这个文件中。

#date +"%Y-%m-%d"

dfinfo=`df -h`
timeinfo=`date +"%Y-%m-%d"`

logfile=$timeinfo.log
echo $dfinfo > $logfile



我的天,原来是我想的太复杂了。  思路还是挺重要的
0

hegeng

赞同来自:

答:#crontab -e 

0 1 * * * df -h > `date +%Y-%m-%d.log`

0

凌乱

赞同来自:

 

使用crontab定每天执行一次df -h > /xx/ `date +%F`.log

把这个生成的文件放在/xx/某个目录下

crontab -e

0 0 * * *     root      df -h > /xx/ `date +%F`.log

每天零点执行

0

linuxs

赞同来自:

1

0

liuyunge

赞同来自:

df -h > `date +%F`.log

0

。。。

赞同来自:

look

0

lizheng103

赞同来自:

不清楚怎么写

0

kw是id

赞同来自:


!/bin/bash

d="date +%w"
a="df -h -P"
dir="/var/log"
[ -f /var/log/$d.log ] || /bin/touch $dir/$d.log
echo $a >$dir/$d.log
cd $dir
gzip -f $d.log
/bin/find $dir -name "*.log.zip" -mtime +7 |xargs rm -f

我改了下需求,另外把df -h的结果输入日志里不会写


看了答案后发现我想太多了

直接df- h -P >$dir/$d.log就好


#!/bin/bash
d=`date +%w`
dir="/var/log"
[ -f /var/log/$d.log ] || df -h -P >$dir/$d.log
cd $dir
gzip -f $d.log
/bin/find $dir -name "*.log.zip" -mtime +7 |xargs rm -f

0

1ijinna

赞同来自:

1

0

西瓜糖

赞同来自:

#!/bin/bash

#Description: This script is to print and redirect file contents to formated log files.

#Author: Jiazhi Yang

#Date: 10/11/2016

FORMATDATE=`date +%Y-%m-%d`

for i in $FORMATDATE

        do

                df -hT >> /data/log/$i-logfile.log

        done

0

nmzhaoliming

赞同来自:

学习

0

Mission

赞同来自:

瞅瞅 

0

llill

赞同来自:

学习中,非常感谢铭哥!

0

rjx3201

赞同来自:

看看

0

sun330

赞同来自:

学习

0

monga

赞同来自:

1

0

北京-xiaojingjing

赞同来自:

crontan -e

1 1 1 * * sh /disk-used.sh

vim /disk-used.sh

#!/bin/bash

day = $(date +%Y-%m-%d)

touch $day.log

echo 'df -l' > $day.log

0

yoyodark

赞同来自:

vim /tmp/scripts/1.sh

#!/bin/bash

dir='/tmp/scripts/'

d=`date +%Y-%m-%d`

e='.log'

touch $dir$d$e

df -h  >> $dir$d$e

crontab -e

1 1 * * * /bin/bash /tmp/scripts/1.sh

0

Ject1992he - linux学习

赞同来自:

学习

0

liwei0526vip

赞同来自:

看答案。

0

风随缘

赞同来自:

#/bin/bash

##2016/12/27 write djh

## 请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例>如今天生成的文件为2013-09-23.log, 并且把磁盘的使用情况写>到到这个文件中。

date1=`date +"%Y-%m-%d"`

df >> /var/log/df.log/$date1.log

每日生成直接加入任务计划即可

0

loujb

赞同来自:

复习

0

Youcan

赞同来自:

校正

0

桂力

赞同来自:

mark

0

hch735347147

赞同来自:

xuexi

0

TSpace

赞同来自:

xuexi

0

大雁

赞同来自:

d=`date +%F`

s=`df -h`

echo $s > /root/log/$d.log

0

vanjle

赞同来自:

..

0

yufng

赞同来自:

1

0

xiaojiajia

赞同来自:

学习

0

王斌

赞同来自:

芝麻开门

0

肖永安

赞同来自:

1

0

季山

赞同来自:

学习

0

家有三宝

赞同来自:

查看

0

成成

赞同来自:

千奇百怪

0

失落的乐章

赞同来自:

学习

0

杨银根

赞同来自:

写一个shell脚本

vim /root/date.sh

#!/bin/bash

i=`date +%F`

echo "`df -h`" >> $i.log;

做一个计划任务,每天执行

#crontab -e

0 1 * * * /bin/bash xx.sh

0

keepfight

赞同来自:

学习一下方法

0

魔王JAS

赞同来自:

look look

0

aikera

赞同来自:

#!/bin/bash
d=`date +%Y-%m-%d`
touch $d.log
echo "`df -h`" > $d.log

0 0 * * * /bin/sh /root/shell/log.sh

0

Louiz

赞同来自:

学习!

0

小路55

赞同来自:

#!/bin/bash

df -sh / > `date +%Y-%m-%d`.log

0

小洪

赞同来自:

学习,学习

0

致敬雷布斯

赞同来自:

fasaetdgfagag

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: