如何在bash脚本

时间:2017-12-21 00:51:36

标签: bash shell

我创建了一个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" 
    ;;

2 个答案:

答案 0 :(得分:0)

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

timestamp() {
  date +"%T"
}

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

答案 1 :(得分:-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" 
    ;;