首页 技术 正文
技术 2022年11月19日
0 收藏 599 点赞 3,388 浏览 1736 个字

util.sh

#!/bin/bash -# Read config
# kay
# Version: 1.0
# //# configuration file path
config=${log_bak}/"cfg"# config parameters
prefix=`grep -v "^#" ${config}`
begin=`echo "${prefix}" | grep 'begin' | awk -F '=' '{ print $2 } '`
logpath=`echo "${prefix}" | grep 'logpath' | awk -F '=' '{ print $2 }' | awk -F ';' '{ for(i=1;i<=NF;i++) print $i }'`
shpath=`echo "${prefix}" | grep 'shpath' | awk -F '=' '{ print $2 }'`
bakpath=`echo "${prefix}" | grep 'bakpath' | awk -F '=' '{ print $2 }'`

cfg

# This is generated to be a configuration file.
# kay
# //# This is a parameter for crontab and objective file.
begin=# This are some log path
# logpath=/root/shell/log/;/root/shell/log/;/root/shell/log/
logpath=/home/pospadm/trc# bak path
bakpath=/home/kycap/bak# sh path
shpath=/home/pospadm/log-bak/start.sh

crontab.sh

#!/bin/bash -# Used to do a crontab task
# kay
# Version: 1.0
# //# @Name: docrontab
# @Parameter: specific crontab task
docrontab()
{
cronfile="/tmp/crontab.${USER}"
crontab -l > ${cronfile}
query=`echo "$1" | sed 's/*/\\\*/g'`
grep -q "${query}" ${cronfile} && echo "" ||
{
echo "$1" >> ${cronfile}
crontab ${cronfile}
}
rm -f ${cronfile}
}

readme

.设置环境变量
log_bak=脚本所在目录
.启动脚本
./start.sh
.停止脚本
./stop.sh

start.sh

#!/bin/bash -# This file is used to handle log bak
# kay
# Version: 1.0
# //. ${HOME}/.bash_profile
. ${log_bak}/util.sh
. ${log_bak}/crontab.sh# add crontab
task="0 0 * * * "${shpath}
docrontab "${task}"#echo "${bakpath}" >> ret.log
cd ${bakpath}
current=`date +"%Y%m%d"`
mkdir ${current} >/dev/null
cd ${current}# handle every specific file
for d in ${logpath}
do
# search for all directories before time begin
filelist=`find "${d}" -mtime +"${begin}" -type f`
for f in ${filelist[@]}
do
dir=`echo ${f} | awk -F '/' '{ print $(NF - 1) }'`
mkdir ${dir} >/dev/null
mv ${f} ${dir}
done
done# tar log
cd ${bakpath}
tar -zcf "${current}.tar.gz" ${current}
rm -rf ${current}

stop.sh

#!/bin/bash -# Used to stop script and crontab
# kay
# Version: 1.0
# //crontab -r
ps -ef | grep 'start' | awk -F ' ' '{ print $2 }' | xargs kill -
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902