要将Debian系统中的nohup日志进行远程传输,可以使用以下几种方法:
scp命令在本地机器上运行以下命令:
scp /path/to/nohup.out user@remote_host:/path/to/destination
其中:
/path/to/nohup.out 是本地nohup日志文件的路径。user 是远程主机的用户名。remote_host 是远程主机的IP地址或域名。/path/to/destination 是远程主机上你希望存放日志文件的路径。输入远程主机的密码(如果使用的是非密钥认证)。
rsync命令rsync -avz /path/to/nohup.out user@remote_host:/path/to/destination
其中参数含义与scp类似,但rsync会进行增量传输,只传输变化的部分,效率更高。logrotate和ssh配置logrotate:
编辑/etc/logrotate.d/your_app文件,添加以下内容:
/path/to/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 640 user group
postrotate
/usr/bin/ssh user@remote_host "cat /path/to/nohup.out" > /path/to/remote/logfile.log
endscript
}
其中:
daily 表示每天轮转一次日志。rotate 7 表示保留7个旧日志文件。compress 表示压缩旧日志文件。postrotate 脚本会在日志轮转后执行,将旧日志文件传输到远程主机。重启logrotate服务:
sudo systemctl restart logrotate
syslog-ng或rsyslog如果你使用的是syslog-ng或rsyslog,可以配置它们将日志发送到远程服务器。
rsyslog编辑/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf文件:
*.* @remote_host:514
其中:
remote_host 是远程主机的IP地址或域名。514 是默认的syslog端口。重启rsyslog服务:
sudo systemctl restart rsyslog
syslog-ng编辑/etc/syslog-ng/syslog-ng.conf文件:
destination d_remote {
tcp("remote_host" port(514));
};
log {
source(s_src);
destination(d_remote);
};
其中:
remote_host 是远程主机的IP地址或域名。重启syslog-ng服务:
sudo systemctl restart syslog-ng
通过以上方法,你可以将Debian系统中的nohup日志进行远程传输。选择适合你需求的方法进行配置即可。