赞
踩
sudo apt-get update
sudo apt-get install moreutils
# 运行 script.sh,并将其输出重定向到 out_log.txt,添加时间戳
./script.sh 2>&1 | ts '[%Y-%m-%d %H:%M:%S]' >> out_log.txt
# 运行 script.sh,并将其输出重定向到 out_log.txt,添加时间戳,并在后台运行
(
while IFS= read -r line
do
echo "$(date '+[%Y-%m-%d %H:%M:%S]') $line"
done < <(./script.sh 2>&1)
) >> out_log.txt &
#!/bin/sh
echo "Script started"
echo "Doing some work..."
sleep 2
echo "Work done"
echo "Script finished"
[2024-06-06 12:00:00] Script started
[2024-06-06 12:00:00] Doing some work...
[2024-06-06 12:00:02] Work done
[2024-06-06 12:00:02] Script finished
current_time=$(date +"%Y-%m-%d-%H-%M-%S")
echo "${current_time} start python3:\n" >>output.log
nohup python3 Test1.py &
echo $! > pid_file.txt
PrintToFile = True
if PrintToFile:
# 配置日志记录器
logging.basicConfig(filename='output.log', level=logging.INFO, format='%(asctime)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
# 定义一个函数用于重定向标准输出到日志文件
def redirect_stdout_to_log():
class StdOutLogger(object):
def write(self, message):
# 添加时间信息并写入日志文件
logging.info('%s %s', datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), message.rstrip())
def flush(self):
pass
# 将标准输出重定向到 StdOutLogger 类的实例
sys.stdout = StdOutLogger()
# 调用函数将标准输出重定向到日志文件
redirect_stdout_to_log()
pid=$(cat pid_file.txt)
kill $pid
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。