如何在bash脚本中添加日期戳

问题描述 投票:0回答:2

我创建了一个bash脚本,它将创建登录用户的日志,磁盘使用情况和进程。我有一切正常,但我遇到的一个问题是,在创建日志文件时,文件名中应该有一个日期戳。有什么建议?谢谢

#code to create the date stamped log file
2) mkdir -p $HOME/log_Dir
   read -p "enter the name of the log file: " log_dir
   touch $HOME/log_Dir/$log_dir
   who > $HOME/log_dir/$log_dir
   du >> $HOME/log_dir/$log_dir
   ps -aux >> $HOME/log_dir/$log_dir
   echo "the log file has been successfully created" 
    ;;
bash shell
2个回答
-1
投票

下面的代码获取当前时间戳并将日期附加到日志文件名称。

    dateTime=$(date +%Y_%m_%d_%H%M%S)        
    read -p "enter the name of the log file: " log_dir
    log_dir="$log_dir$dateTime.log"
    mkdir -p $HOME/log_Dir       
    touch $HOME/log_Dir/$log_dir
    who > $HOME/log_dir/$log_dir
    du >> $HOME/log_dir/$log_dir
    ps -aux >> $HOME/log_dir/$log_dir
    echo "the log file has been successfully created" 
    ;;

0
投票

定义日期戳功能,然后根据需要调用它

timestamp() {
  date +"%T"
}

%T增加了当前时间。有关所有可能的格式选项,请参阅此处:https://www.gnu.org/software/coreutils/manual/html_node/Time-conversion-specifiers.html#Time-conversion-specifiers

© www.soinside.com 2019 - 2024. All rights reserved.