linux和windows下实现日志写入文件功能

最近在做在dos命令下执行php的功能,为了使执行后的结果方便记录,于是需要加一个生成日志的功能。很简单,一起来学习一下吧。

windows

为了满足日志文件是按日期生成的。

第一步:设置当前时间的命令(2016/08/04 周四)。

第二步:转化当前时间日期为标准格式(2016/08/04)。

第三步:将/转为-(2016-08-04),为什么会有第三部命令呢,因为windows获取后的日期是2016/08/04的,所以需要转一下。

第四步:将日期拼上日志文件后缀.log。

第五步:就是将执行后的内容写入到指定目录下的日志文件里,记得执行的文件里要记录的内容用echo输出,这样才能顺利写入日志文件里。

@echo off

set nowDate=%date%

set tmp=%nowDate:~0,-3%

set ymdDate=%tmp:/=-%

set file=%ymdDate%.log

@echo on

D:\wamp\bin\php\php5.4.3\php.exe index.php /Ceshi/server >> D:\wamp\www\logs\rabbitmq\%file%

注:

创建目录

md d:\aaa

%名称% 相当于一个变量

> 一个指向日志文件下次写入会覆盖日志内容

>>两个在日志文件内容基础上进行追加

@echo off 如果这行命令是写在.bat文件里的话,有这行代码,双击执行,dos里不会展示出这些命令,如果没有,是会展示.bat里写的命令的。

@echo on 允许在命令行显示。

linux

这个就比较简单了,linux命令比较强大。

按日期创建目录

mkdir `date +%y%m%d`

将日志内容写入日志文件,这里简单写了,PHP程序其实还是和上面用法一样的。
echo ‘日志内容‘ >> `date +%y%m%d`.log

注:date后面一定要有一个空格,不然不识别,会报错。` 这个符号是英文状态下的tab键上面的那个按键~`。

时间: 2024-11-05 16:57:50

linux和windows下实现日志写入文件功能的相关文章

Linux和windows下检查jsp后门文件的方法

Linux下: find . -name "*.jsp" | xargs egrep -liw "createNewFile| File\(| File |application.getRealPath"findstr /S /M /D:e:\T6_lucene /C:"createNewFile" /C:" File " /C:" File(" /C:"application.getRealPa

Linux和windows下执行sql脚本文件

利用 sqlplus 登录数据库之后 键入: @/全路径/文件名      即可执行*.sql 文件            例 假设有一个 test.sql 文件 所在路径是/home/oracle/ 现在要执行它              1 登录数据库            sqlplus system/manager              2 在提示符 SQL> 之后键入             SQL> @/home/oracle/test.sql; 利用 sqlplus 登录数据

Tomcat日志文件的输出在Linux和Windows下的差异

前言 最近老大发现Tomcat的日志文件catalina.out里存在着大量的和公司项目相关的log信息,因为一般都是会使用日志框架并另外将log信息输出到另外的文件里的,catalina.out文件里就不需要这些多余的log信息了. 不过我在测试的时候发现,Linux和Windows下catalina.out文件的输出是有区别的. 在Linux和Windows下的差异 在Windows平台下,所有System.out, System.err以及printStackTrace()输出的log信息

windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的). 可以使用下面几种方法处理: 1.使用vi的替换功能.启动vi,进入命令模式,输入以下命令: :%s/^M$//g

linux和windows双系统互拷文件乱码问题

如果你需要在linux下面用到windows下的文件,拷贝上去后经常发现中文显示乱码..原因是Windows中默认的文件格式是 GBK(gb2312),而Linux一般都是UTF-8.比较繁琐的方法是在windows下用程序把内容转换为utf-8编码格式的,但是相当麻烦, 而且遇到一个文件转一回.下面介绍一下,在Linux中如何一劳永逸的解决这个问题,查看文件的编码及如何进行对文件进行编码转换. 查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:se

Windows下PHP修改Hosts文件的方法

通过PHP程序完成修改Hosts文件原理如下: 1,首先是写一个.bat文件 2,使用system(),调用.bat完成修改Hosts的目的 代码如下: //创建.bat $filename = "updata.bat"; //'@echo 127.0.0.1 baidu.com >>C:\Windows\System32\Drivers\etc\hosts 关于.bat中的内容可以参考DOS命令行 file_put_contents($filename,'@echo 12

linux与linux,linux与windows之间用SSH传输文件

linux与linux,linux与windows之间用SSH传输文件linux与linux之间传送文件:scp file [email protected]:文件地址    例: scp abc.txt [email protected]:/home/endall/abc.txt windows与linux之间传送文件:笔者用putty的内置PSCP.其它如 SSH Secure File Transfer Client 先在WIN的DOS下,PUTTY目录下及PSCP文件所在目录. pscp

centos6.4 *64 Linux挂载windows下共享文件夹

centos6.4 *64 Linux挂载windows下共享文件夹 mount //192.168.1.21 /mnt/pub 结果无法正常挂载,提示以下错误,开始以为是因为windows下共享文件夹是ntfs格式的问题,下了一个ntfs-3g,依旧无效,后来发现是少了组件包cifs-utils [[email protected] ~]# mount //192.168.1.25/pub /mnt/pubmount: wrong fs type, bad option, bad superb

.NET跨平台之旅:在Linux上将ASP.NET 5运行日志写入文件

在前一篇博文(增加文件日志功能遇到的挫折)中,我们遇到了这样一个问题:虽然有一些.NET日志组件(比如Serilog, NLog)已经开始支持.NET Core,但目前只支持控制台输出日志,不支持将日志写入文件:这就意味着我们在Linux上运行的示例ASP.NET 5站点无法将日志写入文件,给排查问题造成很大的麻烦,比如现在示例站点经常挂掉的问题. 面对这个问题我们没有善罢甘休,不想因为这个问题影响.NET跨平台之旅的步伐,我们要解决它,而且希望先用简单的方法解决,不想从头实现一个日志组件. 在