Year 2021

Arch Linux设置开机进入命令行界面或图形界面

Arch Linux默认安装后是命令行界面,但在安装KDE后默认就进入图形界面了,那如何修改默认启动呢?在Arch Wiki有说到: 更改开机默认启动目标 开机启动的目标是 default.target,默认链接到 graphical.target (大致相当于原来的运行级别5)。 用 systemctl 检查当前的默认启动目标: 另一个方法是向bootloader添加内核参数: 默认目标顺序 Systemd 根据下面顺序选择 default.target: 上面的内核参数 /etc/systemd/system/default.target 软链接 /usr/lib/systemd/system/default.target 软链接 Arch Linux Wiki: systemd

Read MoreArch Linux设置开机进入命令行界面或图形界面

rsync简易教程

rsync 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp和mv命令。 其它参数 -a、–archive参数表示存档模式,保存所有的元数据,比如修改时间(modification time)、权限、所有者等,并且软链接也会同步过去。 –append参数指定文件接着上次中断的地方,继续传输。 –append-verify参数跟–append参数类似,但会对传输完成后的文件进行一次校验。如果校验失败,将重新发送整个文件。 -b、–backup参数指定在删除或更新目标目录已经存在的文件时,将该文件更名后进行备份,默认行为是删除。更名规则是添加由–suffix参数指定的文件后缀名,默认是~。 –backup-dir参数指定文件备份时存放的目录,比如–backup-dir=/path/to/backups。 –bwlimit参数指定带宽限制,默认单位是 KB/s,比如–bwlimit=100。 -c、–checksum参数改变rsync的校验方式。默认情况下,rsync 只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;使用这个参数以后,则通过判断文件内容的校验和,决定是否重新传输。 –delete参数删除只存在于目标目录、不存在于源目标的文件,即保证目标目录是源目标的镜像。 -e参数指定使用 SSH 协议传输数据。 –exclude参数指定排除不进行同步的文件,比如–exclude=”*.iso”。 –exclude-from参数指定一个本地文件,里面是需要排除的文件模式,每个模式一行。 –existing、–ignore-non-existing参数表示不同步目标目录中不存在的文件和目录。 -h参数表示以人类可读的格式输出。 -h、–help参数返回帮助信息。 -i参数表示输出源目录与目标目录之间文件差异的详细情况。 –ignore-existing参数表示只要该文件在目标目录中已经存在,就跳过去,不再同步这些文件。 –include参数指定同步时要包括的文件,一般与–exclude结合使用。 –link-dest参数指定增量备份的基准目录。 -m参数指定不同步空目录。 –max-size参数设置传输的最大文件的大小限制,比如不超过200KB(–max-size=’200k’)。 –min-size参数设置传输的最小文件的大小限制,比如不小于10KB(–min-size=10k)。 -n参数或–dry-run参数模拟将要执行的操作,而并不真的执行。配合-v参数使用,可以看到哪些内容会被同步过去。 -P参数是–progress和–partial这两个参数的结合。 –partial参数允许恢复中断的传输。不使用该参数时,rsync会删除传输到一半被打断的文件;使用该参数后,传输到一半的文件也会同步到目标目录,下次同步时再恢复中断的传输。一般需要与–append或–append-verify配合使用。 –partial-dir参数指定将传输到一半的文件保存到一个临时目录,比如–partial-dir=.rsync-partial。一般需要与–append或–append-verify配合使用。 –progress参数表示显示进展。 -r参数表示递归,即包含子目录。 –remove-source-files参数表示传输成功后,删除发送方的文件。 –size-only参数表示只同步大小有变化的文件,不考虑文件修改时间的差异。 –suffix参数指定文件名备份时,对文件名添加的后缀,默认是~。 -u、–update参数表示同步时跳过目标目录中修改时间更新的文件,即不同步这些有更新的时间戳的文件。 -v参数表示输出细节。-vv表示输出更详细的信息,-vvv表示输出最详细的信息。 –version参数返回 rsync 的版本。 -z参数指定同步时压缩数据。 来源参考

Read Morersync简易教程

如何使用SSH传输文件或文件夹?

Linux scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 从服务器上下载文件 上传本地文件到服务器 从服务器下载整个目录 上传目录到服务器,注意目标服务器要开启写入权限。 来源参考:

Read More如何使用SSH传输文件或文件夹?

如何清理mysql-bin文件?

binlog文件生成: 在每条二进制日志写入到日志文件后,会判断该文件是否超过 max_binlog_size(默认1G),如果超过则生成一个新的 binlog。 默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,这时候是否可以删除这些文件呢,是否可以安全删除,是个问题,不建议使用rm命令删除,这样有可能会不安全,正确的方法是通过mysql的命令去删除。 binlog文件清理: 登入mysql执行 这个命令会清空mysql-bin文件。 修改配置文件: 另外如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。 如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数: 表示保留3天的日志,这样老日志会自动被清理掉 来源参考:

Read More如何清理mysql-bin文件?

Nginx 反向代理配置

隐藏服务器信息 -> 保证内网的安全,通常将反向代理作为公网访问地址,web服务器是内网,即通过nginx配置外网访问web服务器内网 找到配置文件 nginx.conf 参考文章:

Read MoreNginx 反向代理配置

在Ubuntu上安装和使用ClamAV进行病毒查杀

ClamAV 是用于检测木马,病毒,恶意软件,广告软件,rootkit和其他恶意威胁的开源防病毒引擎。 ClamAV的某些功能包括: 内置支持各种存档格式,包括Zip,Tar,Gzip,Bzip2,OLE2,Cabinet,CHM,BinHex,SIS等。 对几乎所有邮件文件格式的内置支持 对使用UPX,FSG,Petite,NsPack,wwpack32,MEW,Upack压缩并用SUE,Y0da Cryptor等混淆的ELF可执行文件和可移植可执行文件的内置支持; 内置支持流行的文档格式,包括Microsoft Office和Mac Office文件,HTML,RTF和PDF。 支持多种签名语言,例如基于哈希的签名匹配,通配符,布尔逻辑和任何以字节码语言编写的自定义规则。 ClamAV包括一个多线程扫描程序守护程序,用于按需文件扫描和自动签名更新的命令行实用程序。它的主要用途之一是在邮件服务器上作为服务器端电子邮件病毒扫描程序。 在Ubuntu上安装和使用ClamAV进行病毒查杀 更新系统软件包缓存 首先,更新系统软件包缓存。 在Ubuntu 20.04上安装ClamAV 默认的Ubuntu 20.04存储库包含ClamAV的最新稳定发行版。您只需运行下面的命令即可简单地安装它及其实用程序。 更新ClamAV签名数据库 为了进行扫描,您需要更新的病毒数据库。有两种更新ClamAV数据库的选项: clamav-freshclam:从Internet更新数据库。建议使用Internet访问。 Offline update 用于无法直接访问互联网的系统。 使用更新更新签名数据库 clamav-freshclam 如果可以访问互联网,则可以使用 clamav-freshclam 更新ClamAV病毒库。 要使用此方法,请停止 clamav-freshclam 服务(如果正在运行)并执行 freshclam,病毒数据库更新工具。 然后更新病毒数据库; 如果数据库是最新的,那么您可能会得到类似于以下的输出(否则,该命令将提取数据库更新) 接下来,开始 clamav-freshclam 服务,因此它会随时在后台更新签名数据库。 确保已启用该服务以在系统启动时运行; freshclam 下载ClamAV数据库,CVD,并将其放在下面, /var/lib/clamav/。 离线数据库更新 如果您的系统无法访问互联网,只需从以下位置下载CVD ClamAV下载页 并将它们放在 /var/lib/clamav。 将下载的CVD放置在ClamAV数据库上后,请确保相应地更改所有权和权限。 重新启动ClamAV守护程序; 要通过私有本地镜像更新数据库,请查看如何打开 文档页面。 Clamscan CLI选项和示例用法 Clamscan用于扫描文件和目录中是否有病毒。在手册页中,clamscan命令语法为: 下面说明了一些clamscan命令选项及其示例用法。 使用以下命令打印帮助信息 -h 要么 –help 选项。 注意: 标有的选项 [=yes/no(*)] 可以选择后面跟随 =是 要么 =否。 如果在没有布尔参数的情况下调用它们,则扫描程序将假定为“是”。星号标记给定选项的默认内部设置。 扫描特定目录或文件; 扫描结束时不显示摘要。 仅打印受感染的文件(-i, –infected); 跳过打印OK文件(-o, –suppress-ok-results); 警惕病毒检测(–bell); 递归扫描目录(-r, –recursive)。 将扫描报告保存到FILE(-l FILE, –log=FILE); 扫描文件中逐行列出的文件(-f FILE, –file-list=FILE)。 删除受感染的文件(–remove[=yes/no(*)])。请注意,因为这会完全删除文件。 将受感染的文件移至目录 (–move=DIRECTORY)。对于运行clamscan的用户或非特权用户,目录必须可写。 将受感染的文件复制到目录中(–copy = DIRECTORY)。对于运行clamscan的用户或非特权用户,目录必须可写。 对于clamscan的各种用法,有很多选项可供选择。请教 man clamscan 更多细节。 ClamAV返回码 以下是ClamAV的退出返回代码。 0:未发现病毒。 1:发现病毒。 2:发生了一些错误。 限制Clamscan CPU使用率 clamscan 可能会占用大量CPU资源,尤其是在扫描大型目录时。 要将clamscan CPU时间限制在一定水平,可以使用两种工具。 nice:降低clamscan的优先级(限制相对cpu时间)。 cpulimit:限制绝对的CPU时间。 要使用漂亮的命令, 只要没有其他进程需要cputime,clamscan就会将其最大化。但是,一旦另一个具有更高优先级的进程需要cputime,clamscan就会丢失它。 使用cpulimit; 扫描整个根目录时,将clamscan cpu时间限制为15%。 进一步阅读 ClamAV用户手册 参考文章: @代码日志

Read More在Ubuntu上安装和使用ClamAV进行病毒查杀

Ubuntu如何彻底卸载软件包?

apt-get的卸载相关的命令有remove/purge/autoremove/clean/autoclean等。具体来说: 删除已安装包(不保留配置文件)。如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件 删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。 删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。 APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。 使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm �� 那么如何彻底卸载软件呢?具体来说可以运行如下命令: 当然如果要删除暂存的软件安装包,也可以再使用clean命令。 原文链接:

Read MoreUbuntu如何彻底卸载软件包?

一次WordPress未关闭评论导致的sendmail产生大量日志清理过程

有个站群服务器,Ubuntu 20.04,使用的HDD硬盘,最近一直磁盘IO跑满,原因未知,于是一点点排查,发现这么个问题。 正常站点建立后同步安装Disable comments插件用于关闭全站评论,在面板的网站统计中发现部分站点的UV/PV很低,但网站总请求非常高。 进一步发现这部分站点的Disable comments插件处于未启用的状态,基本每个站点都有不低于20万的待审核评论,怀疑是通过Wordpress的xml-rpc 或者 rest api形式提交的批量评论。 于是先启用Disable comments插件,并在插件里关闭 xml-rpc和rest api并清理了所有垃圾评论,这个功能要更新到2.0以后才有。 以为这样子就结束,但是并没有,因为Wordpress默认是有邮件通知的!!! 在清理服务器垃圾文件时,发现 /var/spool/mqueue-client 目录下发现几百万条日志文件,看起来应该是和sendmail相关,文件内容都是如图: 可以看出是Wordpress的新评论邮件通知,也不清楚能不能直接删除目录,于是切换到这个目录后,使用 ls搭配xargs删除文件 同时,/var/spool/mqueue 目录下也有部分文件一并清理。 顺便把 sendmail也删除了,反正也用不上。 但是这并没有解决我的磁盘高IO的问题,使用 iotop -oP 查看发现有个 jbd2/sda4-8 进程长期99%的IO,找了一圈也没有解决办法,这可如何是好,换SSD吗? 更新:2小时测试下来,IO下降很多,但top查看 wa值还是经常偏高。

Read More一次WordPress未关闭评论导致的sendmail产生大量日志清理过程