- 爱易网页
-
Linux
- 之前BEA用遇到的有关问题~Linux
日期:2014-05-16 浏览次数:20844 次
之前BEA用遇到的问题~~~Linux
http://blog.sina.com.cn/s/blog_8db5baf9010182cj.html
1. shell 打包压缩文件,并保留每个月内前一周和每周五数据
[root@SV192 archive]# cat /root/tarsrccode.sh
#!/usr/bin
SDIR="/data/disk2/srccode/"
BDIR="/data/disk2/srccode/archive"
#需要保留的天数r
r=4
DATE=$(date +"%Y%m%d")
date7=$(date --date '7 days ago' +"%Y%m%d")
date7sjc=$(date +%s -d "$date7")
lfriday=$(date --date 'last friday' +"%Y%m%d")
lfridaysjc=$(date +%s -d "$lfriday")
cd $SDIR
/bin/tar -zcPf "$BDIR"/pdwebconfig."$DATE".tar.gz ./pdwebconfig &
/bin/tar -zcPf "$BDIR"/Update."$DATE".tar.gz ./Update &
cd $BDIR
for i in `ls $BDIR`
do
#echo $i
date=$(ls $i | awk -F '.' '{print $2}')
datesjc=$(date +%s -d "$date")
#echo "文件时间 $datesjc"
echo "现在处理:$i 文件时间 $datesjc"
m=0
if [ "$datesjc" -lt "$date7sjc" ]; then
for((n=1;n<$r;n++))
do
fridaysjc=$(($lfridaysjc-n*3600*7*24))
echo "判断日期一致:$datesjc ? $fridaysjc"
echo "shijian1:$datesjc shijian2:$date7sjc"
if [ "$datesjc" -eq "$fridaysjc" ]; then
m=$(( $m + 1 ))
fi
done
else
m=1
fi
echo "M:$m"
if [ $m = 1 ];then
echo "保留 $i"
else
echo "删除 $i"
rm -f $i
fi
done
====================================
2.
如何用shell实现 删除创建时间超过指定时间的文件?
http://bbs.csdn.net/topics/340234195
http://www.iteye.com/problems/47259
find . -name "backup_*.gz" -mtime +7 -exec rm {} \;
n小时创建把-mtime +7 改为-cmin n
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变状态的文件
-ctime n
查找系统中最后n*24小时被改变状态的文件
-mtime n
查找系统中最后n*24小时被修改的文件
===========================
3.
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3765383
[文件目录] 如何判断文件的创建日期是否符合要求
find /PATH -type f -mtime +180
================================
4.
http://linux.sheup.com/linux/linux5497.htm
shell - 一个判断文件日期的问题
我想写这样一个脚本:ls -l看到文件日期后,如果该文件的日期是7天以前的旧文件,就执行一些操作,不知道这个脚本该如何写?
据说crontab可以实现,各位大侠有看到过么?
用 find
find . -ctime +7 -exec cmd_do_someting {} ;
cmd_do_something example:
#!/bin/sh
echo "get it! $1"
find . -ctime +7|xargs xx
(执行xx操作)
我的操作系统是AIX,我试了一下
find . -ctime 1 -print
只是列出过去24小时的文件,
而find . -ctime 2 -print,则是列出过去24到48小时之间的文件。
就是说用ctime参数只能找到某一天的文件。
像前面samhoo举的例子find . -ctime +7,我试了一下就什么也找不到。
不知道是否和操作系统有关,在aix下的man find也未看到ctime后带+这样的写法。
请大侠再帮忙看看,急啊!!!
我现在想用find命令找到当前目录下1~7天以前的文件,应该如何写?
用一个ls再加上管道 在前面就可以了
应该可以吧+号应该是大于,-是小于的意思吧
找到当前目录下1~7天以前的文件,
find . -ctime +1 -ctime -7 -print 就可以了吧
==============================
5.
http://blog.163.com/shi_shun/blog/static/237078492012915774533/
Linux/UNIX的scp命令用法详解
PS:偶很喜欢用scp这个命令来传输数据。scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令。scp实质相当于利用SSH协议来传输数据的cp命令。
用法举例:
1、复制远程服务器的文件到本地:
scp -P888 root@120.18.50.33:/data/ha97.zip /home/
2、复制远程服务器的目录到本地:
scp -vrp -P888 root@120.18.50.33:/data/ha97/ /home/
3、复制本地的文件到远程服务器:
scp -P888 /home/ha97.zip root@120.18.50.33:/data/
4、复制本地的目录到远程服务器:
scp -vrp -P888 /home/ root@120.18.50.33:/data/