Rootop 服务器运维与web架构

2024-06-12
发表者 Venus
sftp非交互式自动上传文件已关闭评论

sftp非交互式自动上传文件

通过秘钥认证,上传文件到sftp服务器。
比如sftp登录后有4个根目录 nj on pa wv,把同一个文件传到4个目录中可以用如下命令:

echo "put /data/rsi/mi/void.2024-06-11.csv /NJ/" | sftp -P 3322 -i /root/.ssh/rsi-sftp-pri upload_user@18.210.x.x
echo "put /data/rsi/mi/void.2024-06-11.csv /ON/" | sftp -P 3322 -i /root/.ssh/rsi-sftp-pri upload_user@18.210.x.x
echo "put /data/rsi/mi/void.2024-06-11.csv /PA/" | sftp -P 3322 -i /root/.ssh/rsi-sftp-pri upload_user@18.210.x.x
echo "put /data/rsi/mi/void.2024-06-11.csv /WV/" | sftp -P 3322 -i /root/.ssh/rsi-sftp-pri upload_user@18.210.x.x

/data/rsi/mi 为本地路径
/NJ/ 为sftp中的路径
通过echo后避免了交互式,达到自动上传目的。

2024-05-29
发表者 Venus
zabbix6.4配置执行远程命令已关闭评论

zabbix6.4配置执行远程命令

在zabbix6.4版本中(其它版本未测),动作中的操作默认是 “发送消息” ,没有以前版本中执行”远程命令”的选项。


此版本的配置方式发生变化,需要先在 “告警” – “脚本” 中创建脚本。
名称:脚本名,可以中文。
范围:动作操作
类型:脚本
执行在:zabbix客户端
命令:即要执行的命令,比如:

sudo date > /tmp/stat.txt
sudo netstat -tnlp >> /tmp/stat.txt
whoami >> /tmp/stat.txt
sudo docker start rgs

某些命令可能需要sudo权限,需要提前在agent机器上配置好sudoers,这里测试直接给最高。

[root@localhost etc]# cat /etc/sudoers | grep zabbix
zabbix ALL=(ALL) NOPASSWD:ALL

当添加完脚本后,在动作中,操作 里就有了下拉列表,可以选择刚添加的脚本。

# agent配置
在zabbix_agentd.conf中添加配置,允许执行命令。

AllowKey=system.run[*]

重启zabbix agent。

如果不配置,在执行远程命令时会提示 Unsupported item key

正常执行:

2024-05-09
发表者 Venus
rsyslog通过发送者来源ip区分日志路径已关闭评论

rsyslog通过发送者来源ip区分日志路径

[root@localhost ~]# cat /etc/rsyslog.conf | grep -Ev "^#|^$"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

# 定义一个模版
$template IpTemplate,"/var/log/usg/%FROMHOST-IP%/%$YEAR%-%$MONTH%-%$DAY%.log"
:fromhost-ip, !isequal, "127.0.0.1" ?IpTemplate
& ~  # &符号表示已经匹配处理的内容,~符号表示再也不进行其余处理

这样客户端发送过来的日志,rsyslog会根据源ip创建一个文件夹来保存日志。

测试:
通过logger命令测试发送日志
机器1:
logger -n 192.168.6.205 -p user.info "from server 1"

机器2:
logger -n 192.168.6.205 -p user.info "from server 2"

适合多个网络设备集中收集日志。

2024-05-09
发表者 Venus
华为usg6000防火墙发送日志到rsyslog已关闭评论

华为usg6000防火墙发送日志到rsyslog

日志服务器:192.168.6.205

# rsyslog配置
[root@localhost log]# cat /etc/rsyslog.conf | grep -Ev "^#|^$"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$ModLoad imudp # 开启udp接收
$UDPServerRun 514 # udp端口
$ModLoad imtcp # 开启tcp接收
$InputTCPServerRun 514 # tcp端口
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local6.*						                        /var/log/usg6000.log # usg设备发送过来的设施代码为local6,将所有日志级别(.*)写到配置的日志路径
# 重启rsyslog
[root@localhost log]# systemctl restart rsyslog
# usg配置
[USG6300]info-center enable 

[USG6300]info-center source default channel 2 log level informational 

[USG6300]info-center loghost 192.168.6.205 facility local6 port 514 channel 2 language English source-ip 192.168.12.45
Warning: There is security risk as this operation enables a non secure syslog protocol.

facility 为对应 rsyslog 中的设施代码,usg中支持0-7
[USG6300]info-center loghost 192.168.6.205 facility ?
  local0  Logging host facility 
  local1  Logging host facility 
  local2  Logging host facility 
  local3  Logging host facility 
  local4  Logging host facility 
  local5  Logging host facility 
  local6  Logging host facility 
  local7  Logging host facility 
# rsyslog配置发送者白名单,允许来源ip
$AllowedSender UDP, 192.168.222.10/24, 10.0.0.0/8
# 通过shell命令测试发送日志消息
logger -n 192.168.6.205 -p user.info "aaaaaaaaaaaa"

2024-04-29
发表者 Venus
恢复”网络位置”通过windows资源管理器打开已关闭评论

恢复”网络位置”通过windows资源管理器打开

之前使用 “添加一个网络位置” 功能添加了ftp的访问,便于在 此电脑 中快速打开。
突然出现问题,现象是双击打开时要选择通过什么方式打开,比如浏览器。而不是在windows资源管理器中访问了。

参考:https://answers.microsoft.com/en-us/windows/forum/all/this-ftp-site-cannot-be-viewed-in-windows-explorer/e699d41e-98ae-48c1-9231-d570d46c0f38

将下面注册表配置保存为ftp.reg,然后双击导入即可。

Windows Registry Editor Version 5.00 
 
[HKEY_CLASSES_ROOT\ftp] 
"ShellFolder"="{63da6ec0-2e98-11cf-8d82-444553540000}" 
"Source Filter"="{E436EBB6-524F-11CE-9F53-0020AF0BA770}" 
"URL Protocol"="" 
@="URL:File Transfer Protocol" 
"AppUserModelID"="Microsoft.InternetExplorer.Default" 
"EditFlags"=dword:00200002 
"FriendlyTypeName"="@C:\\Windows\\System32\\ieframe.dll,-905" 
 
[HKEY_CLASSES_ROOT\ftp\DefaultIcon] 
@="C:\\Windows\\System32\\url.dll,0" 
 
[HKEY_CLASSES_ROOT\ftp\shell] 
 
[HKEY_CLASSES_ROOT\ftp\shell\open] 
"CommandId"="IE.Protocol" 
 
[HKEY_CLASSES_ROOT\ftp\shell\open\command] 
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 
  00,5c,00,65,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,65,00,78,00,\ 
  65,00,00,00 
"DelegateExecute"="{B9F8535E-BF74-41C2-A6A6-7124442450DC}"