设计一个shell脚本程序,要求有如下功能: 实现自动备份功能和清理备份等

作者&投稿:史邓 (若有异议请与网页底部的电邮联系)
一.编写一个Shell脚本,实现如下功能: 1、从脚本参数获取到的目录名列表;~

3.# !/bin/bash
cd $1
ls –a|grep ‘*.dat’
ls –a|grep ‘*.log’
mkdir DONE/
for files in *.dat
do
mv $datfile ${datfile%.dat}._donedat
cp -r ${datfile%.dat}._donedat DONE/${datfile%.dat}._donedat
done
for logfile in *.log
do
mv $ logfile ${ logfile %.log}._donelog
cp –r ${ logfile %.log}._donelog DONE/${datfile%.dat}._donelog
done

#!/bin/sh
if [ -d $1 ];then
echo "目录$1存在!"
else
mkdir $1
echo "目录$1创建成功!"
fi

搞定!

#!/bin/bash
TIME=`date +%Y%m%d|cut -b 3-8`
#question 1
tar -zcvf /home/bak/VAR_$TIME_BAK.gzip /var
#question 2
ls -l /var >> /home/bak/VAR_$TIME_BAK.log
#question 3
find /home/bak -name '*gzip' -mtime +1 |xargs rm -rf

脚本名字backup.sh,放到/root下,然后用root创建cronjob

0 12 * * * /root/backup.sh

#question 4 (以redhat为例)

echo " /root/backup.sh " >> /etc/rc.local

#question 5

把下列代码写入cronjob中

#!/bin/bash
TIME=`date +%Y"/"%m"/"%d" "%H":"%m`
if [ -f /home/shell.log ]
then
echo "$TIME running" > /home/tmp.log
cat /home/shell.log >> /home/tmp.log
mv /home/tmp.log /home/shell.log
else
touch /home/shell.log
fi

脚本名字status.sh,放到/root下 (写的有点小问题,功能执行没问题)

0 * * * * /root/status.sh




Linux命令、编辑器与Shell编程的目录
Linux命令、编辑器与Shell编程的目录  我来答 1个回答 #热议# 牙齿是越早矫正越好吗?血色蔷薇TA349 2016-06-03 · TA获得超过118个赞 知道答主 回答量:166 采纳率:50% 帮助的人:67.5万 我也去答题访问个人页 关注 展开全部 第1篇 Linux命令第1章 Linux简介与安装(教学视频:52分钟)2...

Shell脚本问题:如何批量把同在一个文件夹下的所有文件覆盖到另一个...
那哥们回答的不对,如果a文件夹下有子文件夹也会一起移动,这种情况要使用find命令 一条命令就能解决,你也可以写个脚本,然后计划任务定期跑一下。例:我想把\/root\/test下的所有文件覆盖到\/opt下 find \/root\/test -type f -exec cp -rf {} \/opt \\;意思是查找\/root\/test下所有文件(-type f...

Linux的shell文件如何来执行命令添加计划任务?
crontab -l ——>列出当前用户的crontab任务;crontab -r ——>删除当前用户的crontab任务;crontab书写格式 PS:星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作;逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,...

shell和webshell这两个词是什么意思?
【电脑】壳,UNIX操作系统中的一部分,是使用者与系统的界面 vt.webshell是个WEB的权限,可以管理WEB,修改主页内容等权限,但是并没有什么特别高的权限,(这个看管理员的设置了)一般修改别人主页大多都需要这个权限,接触过WEB木马的朋友可能知道(比如老兵的站长助手就是WEB木马 海阳2006也是 WEB木马)...

shell脚本调用外部脚本的问题
估计是因为脚本1中使用了cd命令改变了当前路径,脚本2中继承了脚本1中的当前路径;而一旦脚本1结束回到主shell,这个当前路径也就不复存在。如果在脚本2基于这个当前路径启动jar包前,脚本1结束了,那么当前路径肯定回到了主shell的设置去了,jar包就启动不了了。任何外部调用的shell命令执行都会产生一个...

shell怎么解析科学计数
Shell中科学计数法一般用awk进行处理,浮点类型一般可以用bc进行计算 例如将一个科学计数法表示的数字(不太大,可以不用科学计数法表示的。例如1e3,也就是1000,可以不用科学计数法)转为正常表示的数字:cnbubble@~\/test:$ echo "1e3" |awk '{print $0*1}'1000awk中对$0进行乘以1计算(也可以...

在shell中怎么获取当前日期和时间
获得当天的日期:[root@master ~]# date +%Y-%m-%d 有时候需要使用今天之前或者往后的日期,这时可以使用date的 -d参数。获取明天的日期:date -d next-day +%Y%m%d 获取昨天的日期:date -d last-day +%Y%m%d 获取上个月的年和月:date -d last-month +%Y%m 获取下个月的年和月:date ...

linux中怎样让shell脚本等待其他脚本文件执行完??
在shell里写一个条件判断语句,去查询上一条命令执行的结果,如果执行成功则执行下面的语句。如是上面的命令是一个简单的命令,就用sleep来控制。这都是常用方法

Shell程序实现每天将主目录下的所有目录和文件归档 并压缩为文件myback...
首先确定几个问题:1、主目录路径,备份文件存放路径,要么给脚本自己加上去也行 2、备份完数据后,主目录下的文件删不删,不删的话相当于每天备份全量,删除的话每天备份增量 3、备份规则是当天备份前一天的还是当天备份当天的,如果实时有数据,建议备份前一天,如果固定时间有数据,那么备份当天的即可...

用shell提取一个文件中相同的行的计数
使用awk来处理,会更方便,可以先过滤处理访问页面,然后遍历IP

珲春市19742351814: 设计一个shell脚本程序,要求有如下功能: 实现自动备份功能和清理备份等 -
宰颖硫酸: 计划任务跑脚本脚本备份,打包,异地拷贝然后自动清理多少天前的备份设计完毕= =!

珲春市19742351814: 编写一个Shell程序 有要求
宰颖硫酸: AIX/ksh下测试通过 ---------------------------------------------------- sum=0 i=$1 j=`echo $(($1%2))` if [ $j = 0 ] then i=`expr $i + 1` fi while true do sum=`expr $sum + $i` i=`expr $i + 2`if [ $i -gt $2 ] then break fi done echo "sum="$sum

珲春市19742351814: 能帮我编写一个有以下要求的 Shell 脚本吗? -
宰颖硫酸: 这个最好给一个格式,比如A和B文件的IP和公司名字是一行一行写的,还是中间有其他的分隔符

珲春市19742351814: 编写一个shell程序,要求如下显示 -
宰颖硫酸: #!/bin/bash read -p "Input a string: " str len=${#str} #取字符串长度 one=${str:0:1} #取第一个字符(0为起始index,取1个字符长度) let len-=2 #减去前两个字符的字符串长度 afterTwo=${str:2:len} #取第3个字符开始的字符串(2为第3个字符的index,取len个字符长度) echo ${one}-${afterTwo} 楼上取第二个字符然后在字符串中搜索替换的方法可能会碰到些问题,比如第一个字符和第二个字符相同的情况.

珲春市19742351814: 编写一个menu 的shell脚本程序 要求有清屏功能,能正确地执行各项命令并显示. -
宰颖硫酸: case后边是命令,自己改改吧.#!/bin/bash clear; echo "Number Name For Linux Menu1 exit leave menu or return2 menu goto another local menu3 vi deit a file4 mail read a mail5 send send mail to someone6 cal see your calendar7 ...

珲春市19742351814: linux下的shell脚本. -
宰颖硫酸: #!/bin/bash function calc() { if [ $1 -eq 100 ] then echo "num = 100" elif [ $1 -gt 100 ] then echo "num > 100" elif [ $1 -lt 100 ] then echo "num fi } while [ 1 ] do read -p "putin num:" a calc $a if [ $a -eq -1 ] then echo "num = -1 exit!" break fi ...

珲春市19742351814: 编写一个名为my.tar的shell脚本程序,要求可以根据文件名后缀,以正确的参数调用tar命令来解压tar.gz -
宰颖硫酸: 脚本名 tartest.sh#!bin/bashFNAME=$2 #取文件名if [ '$2' == '*.tar.gz'] #匹配后缀`tar -zxvf $2`#解压命令 `是1键左面那个fi...#后面继续各种if去吧 就那么几种情况用的时候就是 ./tartest.sh filename 就OK了

珲春市19742351814: 编写一个shell脚本程序,把它的第一个位置参数及以后的各个参数指定的文件复制到第一个位置参数指定 -
宰颖硫酸: #!/bin/bash for ((i=2;i<=$#;i++)) docp ./$i $1/ done将参数2以及后面的所有文件拷贝到参数1的目录中.

珲春市19742351814: Linux如何编写shell脚本?
宰颖硫酸: 一般以 #!/bin/sh 开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了.Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序. 以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构). 当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用 sh ./file.sh 方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他).

珲春市19742351814: linux环境下shell脚本编写 -
宰颖硫酸: 假设.out文件在/home目录下: 1.在命令行窗口下直接敲 /home/.out 回车就运行了. 2.shell脚本的话,如下: #!/bin/bash /home/.out =========================================== 要求不高的话,可以看《linux就该这么学》或者《鸟哥linux私房菜》中专门讲shell脚本的那章,很快能入门. 系统一些的学法,可以看《linux命令行和shell脚本编程宝典》,里面关于基础的、高级的用法都有讲到,很完整. =========================================== 不知道我对你问题的理解对不对头.:)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网