zoukankan      html  css  js  c++  java
  • Linux下文件时间的一些测试

     

    先看一下基本的时间。

    现在服务器上建立一个文件 time.php

    [root@d10045105 tools]# touch time.php
    [root@d10045105 tools]# stat time.php
      File: `time.php'
      Size: 0               Blocks: 0          IO Block: 4096   regular empty file
    Device: 807h/2055d      Inode: 119408329   Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2010-08-06 15:56:01.000000000 +0800
    Modify: 2010-08-06 15:56:01.000000000 +0800
    Change: 2010-08-06 15:56:01.000000000 +0800
    [root@d10045105 tools]# date
    Fri Aug  6 15:56:04 CST 2010

    编辑文件 vim time.php

    "time.php" 5L, 24C written                                                                                       
    [root@d10045105 tools]# stat time.php
      File: `time.php'
      Size: 24              Blocks: 8          IO Block: 4096   regular file
    Device: 807h/2055d      Inode: 119409505   Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2010-08-06 15:56:59.000000000 +0800
    Modify: 2010-08-06 15:56:59.000000000 +0800
    Change: 2010-08-06 15:56:59.000000000 +0800
    [root@d10045105 tools]# date
    Fri Aug  6 15:57:02 CST 2010

    通过URL进行访问 url/tools/time.php, 再查看 time 的时间

    [root@d10045105 tools]# stat time.php
      File: `time.php'
      Size: 24              Blocks: 8          IO Block: 4096   regular file
    Device: 807h/2055d      Inode: 119409505   Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2010-08-06 15:58:27.000000000 +0800
    Modify: 2010-08-06 15:56:59.000000000 +0800
    Change: 2010-08-06 15:56:59.000000000 +0800

    由此可见,通过Apache的访问会改变文件的Access Time。那么文件包含的情况呢

    修改time.php,设置一个$time变量,使用 include_time.php 包含 time.php文件,使用相对路径。先看一下两个文件的时间

    image

    通过URL访问后的时间

    image

    可以看到两个文件的进入时间是一样的。有些Apache配置了APC或者其他的缓存机制,这样再重新刷新页面时,文件的时间并不会改变。

     

    测试一下VFS进行代码部署和同步时的时间问题,现在本地创建类似的两个文件

    创建后,部署到服务器上。

    先查看中转机中文件的状态:

    image

    同时看了一下,内网代码发布机上文件的时间

    image

    在没有进行URL请求的时候,查看一下244.21服务器上的文件时间

    image

    可以看到在,rsync代码到生产环境的时候,保留了文件的创建时间,同时变动了修改时间和访问时间。下面做一次url访问。

    时间发生了变化

    image

    这是,重命名 time.php ,刷新页面,出现了白屏。日志错误为

    image

    这时重新发布一下两个文件,部署时显示两个文件没有修改,都没有被部署。

    image

    但是这个时候,中转机上的文件时间发生了变化。

    image

    这个时候,前端机器上的文件时间没有更改,文件也没有部署到。

    image

    也就是说,代码部署机从SVN获取代码时,认为代码没有更新,就没有去获取代码,但是却通知了转发机发送文件,其使用的文件是代码部署机上存放的代码。下图可见

    image

    查看转发机种的发送日志,可以看到,多次部署的md5值保持不变,所以没有进行发送

    image

  • 相关阅读:
    或得最新的采购单号并改变为定长
    javaScript学习之路(1)词法结构
    如何让IE下载时下载内容自动跳转到迅雷等下载软件中
    简单的数据库查询操作
    1.1软件工程概述之软件危机
    SQL基础(巧记范式)
    给程序员的五点建议--如何成为编程高手并以此创业
    License控制解决方案
    MVC+三层+ASP.NET简单登录验证
    我曾七次鄙视自己的灵魂
  • 原文地址:https://www.cnblogs.com/cocowool/p/1799814.html
Copyright © 2011-2022 走看看