按日期把文件区分&&修改文件的mtime

模拟场景:

在一个目录下存在不同天产生的大量文件,而且文件命名没有日期的标识,如何把这些文件按照日期分到不同的文件夹。

按照文件修改的日期也就是mtime把文件做区分

> date

Tue Dec 20 14:04:04 CST 2016

修改文件的mtime

/sysout> touch -c -t 12180010 file{101..200}

12180010表示12月18号0点10分

/sysout> find -mtime +1 -type f | more

./file135

./file168

。。。

核实文件个数

/sysout> find -mtime +1 -type f | wc -l

100

/sysout> l file102

-rw-r--r-- 1 testuser testuser 0 Dec 18 00:10 file102

创建备份文件的日期

> date --date=‘2days ago‘ +%Y%m%d

20161218

备份脚本

> vi baklog.sh

#!/bin/bash

LOGDIR=/sysout

LOGDATE=`date --date=‘2 days ago‘ +%Y%m%d`

BAKDIR=/backup/$LOGDATE

cd $LOGDIR

mkdir $BAKDIR

find -mtime +1 -name "file*" -exec mv {} $BAKDIR \;

按日期把文件区分&&修改文件的mtime

时间: 2024-10-13 19:05:46

按日期把文件区分&&修改文件的mtime的相关文章

springMVC下载文件前修改文件名字

很多时候,为了方便,下载文件其实就直接写了一个文件在服务器上面的路径,然后直接点击一个这个地址,浏览器就自然而然的开始下载了. 但是这次项目需要在文件下载之前修改文件的名字,也就是说,服务器上文件的名字和下载到本地文件的名字是不一样的. 而在springMVC中怎么实现呢? 下面就是代码部分 /** * 下载文件 * @author xx * */ @Controller @RequestMapping("downloadFile") @Scope(value="protot

Linux中批量添加文件和修改文件小笔记

1.#使用通配符批量创建5个文件 $ touch file{1..10}.txt 2.#批量修改这五个后缀名为.txt的文本文件名重命名为.c后缀名结尾的文件 $ rename 's/\.txt/\.c/' *.txt 3.批量就爱那个这五个文件的文件名改为大写 $ rename 'y/a-z/A-Z/' *.c

批量创建文件和修改文件

1.使用for循环在/oldboy目录下创建安10个文件,名称依次为:oldboy-1oldboy-2..................oldboy-10 脚本如下: 1 [[email protected] tmp]# cat oldboy.sh 2 #!/bin/sh 3 mkdir -p /tmp/oldboy && cd /tmp/oldboy 4 for n in {1..10} 5 do 6 touch oldboy-$n 7 done 执行结果: 1 [[email pro

python 遍历所有文件,修改文件内的内容

__author__ = 'Administrator' import os import shutil class CFileOperator(object):     def __init__(self):         self._m_FilePath = os.getcwd()         self._m_FileContent = []         self._m_sError = ""     def GetFileContent(self, filepath=&

Linux如何修改文件权限

Linux如何修改文件权限 修改文件权限前,需要了解一下权限中的”rwx”与数字的对应关系,其中r=4,w=2,x=1. 例如:”drwxr-xr-x”,第一个”d”是代表文件夹,这里不用考虑,后面九个字符,每三个一组相加: rwx=4+2+1=7 r-x=4+0+1=5 那么drwxr-xr-x = 755 同理-rwxrw-rw- = 766 (rw-就是 4+2+0=6) 可以通过”chmod”来修改文件属性中的权限字段的值,请看下面的实例: 1 /*新建一个文件*/ 2 [[email 

Java之扫描目录,修改文件内容

扫描目录下文件,修改文件中指定内容 1 package org.utils.tools.fileoper; 2 3 import java.io.*; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 /* 8 * 修改文件中的内容 9 * 替换properties文件中的ip 10 * */ 11 public class EditFile { 12 public static void main(String args[])

第八天 文件的读,写,追加,读写,写读,seek()光标的移动,修改文件以及另一种打开文件的方式

主要内容:    1.初始文件操作 2.只读( r,rb ) 3.只写( w,wb ) 4.追加( a ,ab) 5.读写( r+ ) 6.写读( w+ ) 7.追加写读 ( a+ ) 8.其他操作方法 9.文件的修改以及另一种打开文件句柄的方式 一.初始文件的操作    使用python来读写文件是非常简单的操作. 我们使用open()函数来打开?个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异. 打开文件的方式: r,

20141227文件夹和文件操作二

文件操作 对文件里面的内容进行读写 PHP5文件操作 将文件的内容整个进行读取和写入 读取文件 file_get_contents:从一个指定的文件内读取数据内容. 写入内容 file_put_contents:将指定的字符串写入到对应的文件 注意:file_put_contents如果要写入的文件不存在,系统会自动创建,有的话就直接写入 默认的file_put_contents写入数据的时候,会先清空数据再写入 如果要在文件后面追加内容:应该使用file_put_contents的第三个参数

Linux文件系统管理之一(文件权限管理)

一. 查看文件权限 使用ls -l 命令可以查看到文件的访问权限 例如:在目录/etc/下执行命令ls -l 抽取其中的一行 相关概念: ① 文件类型:下面列举Linux中七种文件类型,每种文件类型  都有一个字符来表示. d表示目录文件 -表示普通文件 b表示块设备文件比如内存,磁盘等设备 c表示字符型设备文件 比如显示器,猫等串口设备 s表示网络编程文件(socket文件) p表示管道文件,用于防止多个程序同时访问一个文件引 起错误 l表示链接文件 ② 访问权限 如 rwx-wxr-x 各字