1.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。 (1)编写shell程序fileback: #!/bin/sh DIRNAME=`ls /root | grep bak` if [ -z "$DIRNAME" ] ; then mkdir /root/bak cd /root/bak fi YY=`date +%y` MM=`date +%m` DD=`date +%d` BACKETC=$YY$MM$DD_etc.tar.gz tar zcvf $BACKETC /etc echo "fileback finished!" (2)编写任务定时器: echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron crontab /root/etcbakcron 或使用crontab -e 命令添加定时任务: 0 1 * * * /bin/sh /usr/bin/fileback 2.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做? (1)第一种方法: 用户应使用crontab –e 命令创建crontab文件。格式如下: 0 0 * * sun cp –r /user/backup /tmp (2)第二种方法: 用户先在自己目录下新建文件file,文件内容如下: 0 * * sun cp –r /user/backup /tmp 然后执行 crontab file 使生效。 3 . 设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 建立程序 Pro16如下: #!/bin/sh i=1 while [ i -le 50 ] do if [ -d /userdata ];then mkdir -p /userdata/user$i chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) else mkdir /userdata mkdir -p /userdata/user$i chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) fi done
shell定时备份
原创liyunli_0226 ©著作权
©著作权归作者所有:来自51CTO博客作者liyunli_0226的原创作品,谢绝转载,否则将追究法律责任
上一篇:Linux定时任务
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
创建 PostgreSQL 备份脚本并设置定时任务
在linux中进行PostgreSQL 备份脚本并设置定时任务
sql 日志文件 PostgreSQL -
设置定时任务,别再写死了!动态定时任务真的太爽了!
设置定时任务,别再写死了!动态定时任务真的太爽了!
spring 触发器 cron表达式 -
shell脚本定时任务 ( linux系统)
shell脚本定时任务 ( linux系统)
shell脚本定时任务 linux系统 -
Shell 脚本创建定时任务crontab
Shell 脚本创建定时任务crontab echo "*/1 * * * * /bin/sh /root/Docker-
shell 定时任务 Shell Docker -
db2定时任务、备份脚本
db2定时任务、备份脚本
db2 任务 定时