1创建一个用户并给其赋权限
(1)su root 用root权限创建用户
(2)useradd tomcater(创建一个tomcater用户并且默认属于自动创建的tomcater用户组中)
(3)passwd tomcater(给这个新用户设置密码)
(4)chown -R tomcater:tomcater 指定目录 :给指定目录的文件(包括所有子文件) 赋予归属用户 用户名:所属的用户组
(5)chmod 760 指定目录 :给指定目录的文件开放可以被用户操作的权限 (760指的权限范围是只能被当前用户和root用户操作)
2定时执行任务(备份指定文件并保持最新的7天内的文件)
(1)、定时cron
配置文件:/etc/crontab
00 22 * * * root nohup /home/wwwrootbak/wwwrootbak.sh>>/tmp/s.log &
这是一个任务计划 等到了指定的时间就会做指定的事情
分 小时 日 月 年 具有权限的用户 后台运行 任务:执行这个脚本文件 执行这个脚本文件显示的日志 就会显示在指定路径的日志文件中
(2)、(1)中的wwwrootbak.sh脚本
BK_DR=/usr/back #备份文件存放路径
DB_DR=/usr/tomcat7/webapps
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
LINUX_USER=root #系统用户名
date=` date +%Y%m%d `
tar zcvf $BK_DR/webapps$date.tar.gz $DB_DR
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者
find $BK_DR -name "webapps*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)
#deldate=` date -d -7day +%Y%m%d ` #删除ftp服务器空间7天前的备份
#ftp -n< open 192.168.1.1 21 #打开ftp服务器。21为ftp端口
#user admin 123456 #用户名、密码
#binary #设置二进制传输
#cd wwwrootbak #进入ftp目录
#lcd /home/wwwrootbak #列出本地目录
#prompt
#mput wwwroot$date.tar.gz wwwroot$date.tar.gz #上传目录中的文件
#mdelete wwwroot$deldate.tar.gz wwwroot$deldate.tar.gz #删除ftp空间7天前的备份
#close
#bye
当时发现定时任务没有执行,原因是:
1 这是小时 ,看文档上说的是0-23 就以为和数组的下标一样 下标=当前元素所在的位数-1(如数组【1,2】,元素1下标就为0),所以感觉自己好傻啊,时 间本来就是这样的啊0-23小时
2如何定时任务是否执行了呢 那cron日志文件 默认的日志文件在/var/log/cron* 中 ,可以执行到自己定义的日志文件中 如
指定到了/tmp/s.log中
3如何查看指定的任务(脚本文件)是否执行了呢 可以在sh脚本中 输出状态吗 如
到指定的日志文件中查看 是否有这个状态码 最后一个输出的状态码会覆盖之前输出的状态码