#修改 /etc/crontab
cat >>/etc/crontab <<'EOF'
*/20 * * * * root /root/marklog.sh
0 * * * * root /root/archivelog.sh
EOF
#修改 /etc/default/local.stop
cat >>/etc/default/local.stop <<'EOF'
/root/marklog.sh
/root/archivelog.sh
EOF
#新增 /root/marklog.sh
cat >/root/marklog.sh <<'EOF'
#!/bin/sh
_log=/var/log/shorewall.log
_xx=$(date +"%Y-%m-%d %H:%M:%S");
echo "### MARK ${_xx}" >>${_log}
EOF
#新增 /root/archivelog.sh
cat >/root/archivelog.sh <<'EOF'
#!/bin/sh
#:> /var/log/conntrackd.log;
date >/tmp/archive.sh.run
echo $$>>/tmp/archive.sh.run
ADEV=/dev/vda
AMNT=/mnta
ADIR=${AMNT}/archive
LOGDIR=/var/log
Exit_safely (){ umount -f ${AMNT}; rmdir ${AMNT}; }
/usr/bin/logrotate
[ -d $AMNT ]||mkdir -p $AMNT
mount |grep ${AMNT}
[ $? -gt 0 ]&&{ mount $ADEV $AMNT && trap Exit_safely EXIT|| exit 1; }
echo aaa
[ -d ${ADIR} ]||mkdir -p ${ADIR}
for i in $LOGDIR/*.gz;do [ -f "$i" ]||exit;done
for i in $LOGDIR/*.gz;do
t=$(basename $i)
t=${t%.gz}-$(date +%Y%m%d_%H%M%S).gz
echo $i $t
mv $i ${ADIR}/$t
done
EOF
沒有留言:
張貼留言