当前位置: Oracle DBA培训网-优技培训 >> Linux教程 >

Linux培训教程:编写shell脚本文件

Linux培训教程:编写shell脚本文件

Linux培训教程:编写shell脚本文件,shell脚本包括的内容:运行环境设置、注释行、可执行语句

例:由于公司的文件服务器空间有限,需要完成一项定期任务!每周五下班前(17:30)检查公共共享目录/var/ftp/pub中的内容,并将其中所有子目录及文件的详细列表和当时的时间信息追加保存到/var/log/pubdir.log日志文件中,然后清空该目录中的内容

1)编写脚本文件ftpclean.sh,并添加执行权限

[root@localhost ~] # vi /opt/ftpclean.sh

#! /bin/bash

date >> /var/log/pubdir.log

ls -lhR /var/ftp/pub >> /var/log/pubdir.log

rm -rf /var/ftp/pub/*

[root@localhost ~] # chmod a+x /opt/ftpclean.sh

2)设置计划任务并确认crond服务已经启动

[root@localhost ~] # crontab -e

30 17 * * 5 /opt/ftpclean.sh

[root@localhost ~] # service crond status

[root@localhost ~] # chkconfig --level 35 crond on

例:公司内网开发服务器中的数据库目录位于/var/lib/mysql,根据数据安全管理要求,至少每隔三天要做一次完整备份,备份前需要统计该目录占用的总空间大小,并将备份日期、目录空间大小等信息保存到临时文件/tmp/dbinfo.txt中,然后使用tar命令将dbinfo.txt文件随数据库目录一起备份到/opt/dbbak目录中,备份包文件名中要求体现当天的日期

1)创建保存备份文件的目录/opt/dbbak

[root@localhost ~] # mkdir /opt/dbbak

2)编写脚本文件dbbak.sh并添加执行权限

[root@localhost ~] # vi /opt/dbbak.sh

#! /bin/bash

DAY=`date "+%Y%m%d"`

SIZE=`du -sh /var/lib/mysql`

echo "Date:$DAY" >> /tmp/dbinfo.txt

tar zcvf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt

rm -f /tmp/dbinfo.txt

[root@localhost ~] # chmod a+x /opt/dbbak.sh

3)设置计划任务并确认crond服务已经启动

[root@localhost ~] # crontab -e

55 23 */3 * * /opt/dbbak.sh

[root@localhost ~] # service crond status

[root@localhost ~] # chkconfig --level 35 crond on

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙