日期:2014-05-16 浏览次数:20964 次
#!/bin/csh -f ########################################### ### 手工设置变量 ### ########################################### # 删除还是备份 0是备份,1是删除 setenv OPERATE_TYPE 0 # 备份天数或者删除天数例如30代表备份30天后的数据或者是删除30后的数据 setenv BCK_LOGS_DAYS 30 # 设置日志保存路径 setenv BCK_LOGS_ROOT /home/public/temp/logstemp # setenv BCK_LOGS_ROOT ~/bin/logs # 设置日志保存文件夹 setenv mkdirdate `date +%Y-%m-%d` ########################################### ### 程序运行日志备份 ### ########################################### # 切换工作路径 set bl_path="`dirname $0`" cd $bl_path # 得到相比较时间 set now_time="date -d '-30 day' +%Y-%m-%d" echo "得到相比较的时间" # 备份操作 if ($OPERATE_TYPE == 0) then echo "得到操作类型" # 创建临时文件,记录符合条件的日志名称 touch temps.log echo "成功创建临时文件" # 记录文件名到文件 ls |awk '/.log./' > temps.log echo "成功写入文件" #读记录 while read line do echo "成功读取文件名称" file_name=`${line}##*.` echo "成功文件名称中的日期" if [ $file_name < now_time ] then # 判断文件夹是否存在,存在直接备份,不存在则创建 if [ !-d $BCK_LOGS_ROOT/$file_name ] then mkdir -p $BCK_LOGS_ROOT/${line} echo "成功创建文件夹" fi #打包文件 tar -zcvf ${line}.tar ${line} mv ${line}.tar ${BCK_LOGS_ROOT}/${file_name} echo "成功备份到指定文件夹" # 删除已压缩备份的日志文件 rm -f ${line} echo "成功删除已经备份的文件" echo "拷贝任务完成!" else end fi done < temps.log # 删除临时文件 rm -f temps.log fi # 删除操作 if ($OPERATE_TYPE = 1) then while read line do echo file_name=`${line}##*.` if [ $file_name < now_time ] then rm -f ${line} else end fi done < temps.log # 删除临时文件 rm -f temps.log endif
set lines=`cat /etc/passwd` set i=1 while ( $i <= $#lines ) echo $lines[$i] @ i = $i + 1 end