当我们使用ftp命令或ftp客户端连接到Linux服务器时,显示的文件修改时间与telnet会话中显示的时间不同。
例如,我在/ home / abc /中有一些* .dat文件,ftp命令或客户端中显示的最后修改时间是19:30。 但是当我在telnet会话中做ls -l时,它显示03:30。 telnet会话中显示的上次修改时间是正确的。
有没有一个设置出了问题?
我对此并不积极,但是客户端上的时区可能与服务器上的时区不同? 这可能会导致您的FTP客户端显示不正确的偏移量的时间。
我很久以前就和我的FTP有类似的问题,但是在同一个GMT区域的两台服务器……问题是软件本身有一个“GMT”configuration属性。 你有没有检查过服务和服务器的所有可能的configuration?
检查NTP,也许他正在更新后手动把正确的时间。
两年后,今天我发现问题的原因是因为FTP时间戳设置为GMT,而不是按照URL中突出显示的正确设置的时区
但在URL中,更改是在/etc/proftpd.conf中完成的。 这个Linux服务器正在使用vsftpd。 所以解决scheme稍有改变。
编辑vsftpdconfiguration文件并将其附加到它use_localtime=YES 。 然后重新启动vsftpd
这是我做的更详细的步骤:
su root find它正在运行的ftpd 。 对于这个服务器,它使用vsftpd
$ ps -ef | grep ftpd
制作configuration文件的副本。
使用编辑器编辑vsftpdconfiguration文件。
$ vim /etc/vsftpd/vsftpd.conf
添加选项use_localtime并将值设置为YES 。 默认值是NO
use_localtime=YES
重新启动ftpd服务
$ /sbin/service vsftpd restart
$ /sbin/service vsftpd status
使用ftp重试login并检查文件时间戳。