gpt4 book ai didi

linux - 在不使用 sleep 命令的情况下查找长时间运行作业的运行时间或持续时间

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:33 24 4
gpt4 key购买 nike

<分区>

我正在 try catch Linux 中长时间运行的作业的运行时间。

我尝试了以下方法 1,但它显示错误的持续时间,因为操作耗时 4 小时,但实际持续时间仅以分钟为单位

方法一:

$ TAR_STARTTIMESTAMP=$(date +%s)
$ TAR_STARTTIME=`date +"%d/%b/%Y %H:%M"`
$ tar -cvf /u05/expdpdump/exppdb/TAR_EXP_DUMP_Wallet.tar /u05/expdpdump/exppdb/*.dmp
tar: Removing leading '/' from member names
/u05/expdpdump/exppdb/NoTDE_PDB_FULL.dmp
tar: /u05/expdpdump/exppdb/NoTDE_PDB_FULL.dmp: file changed as we read it
/u05/expdpdump/exppdb/NoTDE_PDB_FULL_wallet_01.dmp
/u05/expdpdump/exppdb/NoTDE_PDB_FULL_wallet_02.dmp
$ TAR_TAR_ENDTIMESTAMP=$(date +%s)
$ TAR_ENDTIME=`date +"%d/%b/%Y %H:%M"`
$ TAR_DIFFTIMESTAMP=$(( ${TAR_ENDTIMESTAMP} - ${TAR_STARTTIMESTAMP} ))
$ TAR_DIFFTIME=`date -u -d @${TAR_DIFFTIMESTAMP} "+%H hours, %M minutes and %S seconds"`

$ echo "Tar Started: ${TAR_STARTTIME}" >> /u05/expdpdump/exppdb/EXP_TAR_DUMP.log
$ echo "Tar Finished: ${TAR_ENDTIME}" >> /u05/expdpdump/exppdb/EXP_TAR_DUMP.log
$ echo "Tar took ${TAR_DIFFTIME} to complete" >> /u05/expdpdump/exppdb/EXP_TAR_DUMP.log

$ less /u05/expdpdump/exppdb/EXP_TAR_DUMP.log
Tar Started: 19/Mar/2019 19:12
Tar Finished: 19/Mar/2019 20:29
Tar took 04 hours, 47 minutes and 30 seconds to complete

我尝试使用以下 shell 进行更改以分配变量并创建日志

方法二

这是我的代码

### Code Starts Here ###
read -p "Enter the File Path: " FILE_PATH
read -p "Enter the Log Name: " LOG_NAME
read -p "Enter the Activity Name: " ACTIVITY


touch $FILE_PATH/$LOG_NAME

"${ACTIVITY}"_START_TIMESTAMP=$(date +%s)
ACTIVITY_START_TIME=`date "+%Y/%m/%d %H:%M:%S"`

# run the desired long running activity

$ACTIVITY_END_TIMESTAMP=$(date +%s)
$ACTIVITY_END_TIME=`date "+%Y/%m/%d %H:%M:%S"`
$ACTIVITY_DIFF_TIMESTAMP=$(( ${ACTIVITY_END_TIMESTAMP} - ${ACTIVITY_START_TIMESTAMP} ))
$ACTIVITY_DIFF_TIME=`date -u -d @${ACTIVITY_DIFF_TIMESTAMP} "+%H hours, %M minutes and %S seconds"`


echo "$ACTIVITY Started: ${ACTIVITY_STARTTIME}" >> $FILE_PATH/$LOG_NAME
echo "$ACTIVITY Finished: ${ACTIVITY_ENDTIME}" >> $FILE_PATH/$LOG_NAME
echo "$ACTIVITY took ${ACITIVITY_DIFFTIME} to complete" >> $FILE_PATH/$LOG_NAME

### Code Ends Here ###

当我尝试导出以下变量时,出现错误

$ ${ACTIVITY}_START_TIMESTAMP=$(date +%s)
-bash: TAR_START_TIMESTAMP=1553021544: command not found
$ '${ACTIVITY}'_START_TIMESTAMP=$(date +%s)
-bash: ${ACTIVITY}_START_TIMESTAMP=1553021623: command not found
$ "${ACTIVITY}"_START_TIMESTAMP=$(date +%s)
-bash: TAR_START_TIMESTAMP=1553021737: command not found
$ "${ACTIVITY}_START_TIMESTAMP=$(date +%s)"
-bash: TAR_START_TIMESTAMP=1553021808: command not found

谁能帮助修复我的第一种方法或第二种方法。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com