主观题:h6.设计一个shell 程序,在每月第一天备份并压缩/etc 目录的所有内容,存放在/root/bak目录里。
6.设计一个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
答案:参考答案:
(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