我有一个脚本可以将大小为 300GiB 的表备份到back.sql
,
然后将其复制到bak_copy.sql
,
然后sed -i 's/original/copy/g bak_copy.sql
。
今天我发现sed -i
在替换流的同时开始创建另一个文件,
因此脚本back.sql
在某个时候使原始文件的存储大小增加了两倍。
那还有更好的选择吗?
会sed 's/original/copy/g' back.sql > bak_copy.sql
不会同样安全和快速?
我有一个脚本可以将大小为 300GiB 的表备份到back.sql
,
然后将其复制到bak_copy.sql
,
然后sed -i 's/original/copy/g bak_copy.sql
。
今天我发现sed -i
在替换流的同时开始创建另一个文件,
因此脚本back.sql
在某个时候使原始文件的存储大小增加了两倍。
那还有更好的选择吗?
会sed 's/original/copy/g' back.sql > bak_copy.sql
不会同样安全和快速?
今天我收到了来自阿里云的警报,libprocesshider.so
安装在我的堡垒服务器上。他们告诉我这是一个后门 Rootkit。
我研究了一下,发现libprocesshider.so
通常用于隐藏后门进程并且将模块添加到 是一种常见的做法/etc/ld.so.preload
,并且它确实被添加到我的服务器上。
问题:
我可以跟踪使用 libprocesshider 模块运行的所有隐藏进程吗?
我如何跟踪它对我的服务器造成的损害?我查看了journalctl
,/var/log/secure
和history
, 但找不到任何攻击痕迹。
安装的会话libprocesshider.so
仍然存在。我认为会话是从合法的远程用户那里劫持/窃取的。由于此人当前未连接到堡垒服务器。我应该尽快终止会话,还是可以从中追踪一些信息?
是否有可能libprocesshider.so
由非恶意软件应用程序自动安装?
如果您需要更多信息,请随时询问。
ENV:GNU bash,版本 4.2.46(2)-release (x86_64-redhat-linux-gnu) (它是旧的)
api_call
功能通常需要大约1s~5s。我的脚本 A
TIMEFORMAT=%R
while true; do
time=$(date +'%F %T')
api_result=$( { time api_call; } 2>api_runtime.txt )
api_runtime=$(cat api_runtime.txt)
echo "${time} ${api_result}"
sleep (( 10 - ${api_runtime} ))
done
我认为 Scrit A 会完成这项工作,直到有一天网络变慢并且循环不同步。
我的脚本 B
TIMEFORMAT=%R
while true; do
time=$(date +'%F %T')
api_result=$( api_call & )
sleep 10
echo "${time} ${api_result:-No response}"
done
脚本 B 目前似乎也可以工作,但我不确定下一个循环在api_call
10 秒以上时是否安全。
我如何实现这一目标?
man date
不会显示任何保留字,但它们有“现在”或“今天”等。
我想知道是否有任何明确的方法可以打印当天的开始(00:00:00)。
date -u -d "$(date +'%F')"
在任何情况下都够用吗?看起来有点傻。
如果你使用df -h
Filesystem Size Used Avail Use% Mounted on
source_ip:/foo/what-is-this-called 420G 69G 351G 17% /mount-point
如果您将特定目录挂载到挂载点,则该目录既不是分区也不是文件系统。
挂载目录源的确切术语是什么?