用pg_dump但不产生中间文件,直接在2个数据库之间导数据。
本机执行从本地库导出数据到远程库
pg_dump -h 本地库IP -U postgres dbname | psql -h 目标库IP -U postgres dbname
本机执行从远程数据库导入数据到本地库
pg_dump -h 目标库IP -U postgres dbname | psql -h 本地库IP -U postgres dbname
CentOS一些基础的知识
用pg_dump但不产生中间文件,直接在2个数据库之间导数据。
本机执行从本地库导出数据到远程库
pg_dump -h 本地库IP -U postgres dbname | psql -h 目标库IP -U postgres dbname
本机执行从远程数据库导入数据到本地库
pg_dump -h 目标库IP -U postgres dbname | psql -h 本地库IP -U postgres dbname
xtrabackup是percona公司开发的一个用于mysql物理热备的备份工具。
软件安装后一共有4个可执行文件:
xbcrypt:用来解密
xbstream:类似tar,一种支持并发写的流文件格式。和xbcrypt都在备份和解压会用到
xtrabackup:c/c++编译的二进制,用来备份innodb表,和mysql server没有交互
原理
通信方式:xtrabackup和innobackupex之间的交互和协调是通过控制文件的创建和删除来实现的。
主要文件:
xtrabackup_suspended_1
xtrabackup_suspended_2
xtrabackup_log_copied
例:看看备份时xtrabackup_suspended_2是怎么协调2个工具进程的:
xtrabackup备份完innodb数据后,就在指定目录下创建出xtrabackup_suspended_2,然后等到这个文件被innobackupex删除,
innobackupex 检测到文件 xtrabackup_suspended_2 被创建出来后,就继续往下走;
innobackupex 在备份完非 InnoDB 表后,删除 xtrabackup_suspended_2 这个文件,这样就通知 xtrabackup 可以继续了,然后等 xtrabackup_log_copied 被创建;
xtrabackup 检测到 xtrabackup_suspended_2 文件删除后,就可以继续往下了。

备份过程图

说明:
xtrabackup 在备份 InnoDB 相关数据时,是有2种线程的,1种是 redo 拷贝线程,负责拷贝 redo 文件,1种是 ibd 拷贝线程,负责拷贝 ibd 文件;redo 拷贝线程只有一个,在 ibd 拷贝线程之前启动,在 ibd 线程结束后结束。xtrabackup 进程开始执行后,先启动 redo 拷贝线程,从最新的 checkpoint 点开始顺序拷贝 redo 日志;然后再启动 ibd 数据拷贝线程,在 xtrabackup 拷贝 ibd 过程中,innobackupex 进程一直处于等待状态(等待文件被创建)。
xtrabackup 拷贝完成idb后,通知 innobackupex(通过创建文件),同时自己进入等待(redo 线程仍然继续拷贝);
innobackupex 收到 xtrabackup 通知后,执行FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位点,然后开始备份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par等)。拷贝非 InnoDB 文件过程中,因为数据库处于全局只读状态,如果在业务的主库备份的话,要特别小心,非 InnoDB 表(主要是MyISAM)比较多的话整库只读时间就会比较长,这个影响一定要评估到。
当 innobackupex 拷贝完所有非 InnoDB 表文件后,通知 xtrabackup(通过删文件) ,同时自己进入等待(等待另一个文件被创建);
xtrabackup 收到 innobackupex 备份完非 InnoDB 通知后,就停止 redo 拷贝线程,然后通知 innobackupex redo log 拷贝完成(通过创建文件);
innobackupex 收到 redo 备份完成通知后,就开始解锁,执行 UNLOCK TABLES;
最后 innobackupex 和 xtrabackup 进程各自完成收尾工作,如资源的释放、写备份元数据信息等,innobackupex 等待 xtrabackup 子进程结束后退出。
在备份进程中都是直接通过操作系统读取数据文件的,只在执行SQL命令时和数据库有交互,基本不会影响数据库的运行,在备份非innodb时会有一段时间只读,对备份innodb表时完全没有影响。
备份innodb文件和非innodb都是通过拷贝文件,但实现的方式不一样,innodb是以page粒度(xtrabackup),在读取每个page时会检验checksum值,保证数据块是一致的;非innodb是cp或者tar(innobackupex),由于对文件做了FTWRL,磁盘上的文件也是完整的,备份的数据也是完整的。
下面简单记录设置SVN和部署的操作:
apt-get install subversion libapache2-svn
我的服务器上Apache老早就安装过了。如果你的服务器上还没有安装,可以执行:
apt-get install apache2
完成安装之后,Apache的mod_dav_svn默认就是已经启用的了。
这里我把代码集中放在了/var/svn/,先创建这个文件夹:
cd /var/
mkdir svn
cd /etc/apache2/mods-enabled/
编辑文件dav_svn.conf ,去掉一些注释符号,修改SVNParentPath路径为上面我们创建的/var/svn/:
vi dav_svn.conf
最终的内容大约是:
<Location /svn>
DAV svn
SVNParentPath /var/svn/
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
上面的AuthUserFile选项对应的文件需要我们自己创建。
我为自己和小连各创建一个账号:
sudo htpasswd -cm /etc/apache2/dav_svn.passwd someone
sudo htpasswd /etc/apache2/dav_svn.passwd someone-else
完成上面的操作之后,让apache重新读入一下配置:
service apache2 reload
这个时候,直接访问http://www.fachun.net/svn,就可以看到要求输入用户名、密码了。
认证之后,会出现一个403 Forbidden,因为我们还未创建repository。
cd切换到/var/svn/目录下,再执行:
svnadmin create musicapp
就会在目录下生成musicapp文件夹,这个文件夹下包含了.svn子文件夹。接着修改musicapp文件夹属主,让www-data可读写:
chown -R www-data musicapp
chmod -R g+rws musicapp
好了,现在已经可以开始使用svn了。
现在我的开发环境是windows,下载安装客户端:
http://tortoisesvn.net/downloads.zh.html
将 http://www.fachun.net/svn/musicapp/ checkout到 E:Pythondjangomusicmusicapp
结束后,添加原有的代码文件再commit。
如此,代码库中就拥有了我最新的完整源代码。
我的要求不多,当有人修改或提交了文件,能立即在web上生效。
可以通过在版本库中创建post-commit脚本来实现。
每次我们提交了更改,post-commit脚本都会被自动执行。
比如在我的版本库中,该文件就应该位于 /var/svn/musicapp/hooks/文件夹下,它的内容是:
#!/bin/bash
svn export –force –no-auth-cache –username=someone –password=hispassword <a href="http://www.fachun.net/svn/musicapp" target="_blank">http://www.fachun.net/svn/musicapp</a> /var/www/somewhere/to/place/musicapp
exit 0
http://www.fachun.net/svn/musicapp是repository的地址。
/var/www/somewhere/to/place/musicapp是web应用的存放路径。
–no-auth-cache选项是必须的,否则脚本无法执行成功,svn命令会询问你是否保存密码。
在上传这个post-commit文件之后,请记得为其添加权限:
chmod +x post-commit
chown www-data post-commit
脚本中还可以添加其他内容,比如service apache2 reload,在部署django代码的时候,就可以让修改立即生效。
ubuntu的方法很多,apt里面非常旧里,还是4.x的;
源码解压编译其实并不省心,
我是这么安装
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
如果安装nodejs 9.x版本
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
1感觉这种方法还是非常ok的r;
首先需要下载WebStrom的Linux安装包,地址如下:
https://www.jetbrains.com/webstorm/download/
然后运行如下命令解压并安装并运行WebStorm:
1、解压缩
sudo tar xfz ~/Downloads/WebStorm-16.2.3.tar.gz
2、解压文件移动到/opt下
sudo mv ~/Downloads/WebStorm-162.2228.20 /opt/
3、进入到此文件夹中:
cd /opt/WebStorm-162.2228.20/bin/
4、启动webstorm:
sudo sh webstorm.sh
参考
注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址:
http://idea.codebeta.cn
1、使用apt-cache搜索curl
sudo apt-cache search curl
在搜索结果里找到类似:
php5.6-curl - CURL module for PHP
php7.1-curl - CURL module for PHP
2、使用apt-get安装
选择php对应版本的curl,使用apt-get安装:
sudo apt-get install php7.1-curl
3、安装完成后重启相关服务,如php,apache
keepalived + haproxy + mysql 构建高可用
拓扑图:

keepalived:负责抢占虚拟ip,使用vrrp协议
haproxy:负责做访问调度,减轻单点压力,单独监听一个端口,这里用23306
分别在两台机器上面搭建mysql,并做主从配置,这里不做介绍
tar xf haproxy-1.8.4.tar.gz
cd haproxy-1.8.4
yum install -y gcc
make TARGET=linux310 ARCH=x86_64 # uname -a查看主机信息填写
make install SBINDIR=/usr/sbin/ MANDIR=/usr/share/man/ DOCDIR=/usr/share/doc/
#!/bin/sh
#
# haproxy
#
# chkconfig: - 85 15
# description: HAProxy is a free, very fast and reliable solution
# offering high availability, load balancing, and
# proxying for TCP and HTTP-based applications
# processname: haproxy
# config: /etc/haproxy/haproxy.cfg
# pidfile: /var/run/haproxy.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
exec="/usr/sbin/haproxy"
prog=$(basename $exec)
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
cfgfile=/etc/haproxy/haproxy.cfg
pidfile=/var/run/haproxy.pid
lockfile=/var/lock/subsys/haproxy
check() {
$exec -c -V -f $cfgfile $OPTIONS
}
start() {
$exec -c -q -f $cfgfile $OPTIONS
if [ $? -ne 0 ]; then
echo "Errors in configuration file, check with $prog check."
return 1
fi
echo -n $"Starting $prog: "
# start it up here, usually something like "daemon $exec"
daemon $exec -D -f $cfgfile -p $pidfile $OPTIONS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
# stop it here, often "killproc $prog"
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
$exec -c -q -f $cfgfile $OPTIONS
if [ $? -ne 0 ]; then
echo "Errors in configuration file, check with $prog check."
return 1
fi
stop
start
}
reload() {
$exec -c -q -f $cfgfile $OPTIONS
if [ $? -ne 0 ]; then
echo "Errors in configuration file, check with $prog check."
return 1
fi
echo -n $"Reloading $prog: "
$exec -D -f $cfgfile -p $pidfile $OPTIONS -sf $(cat $pidfile)
retval=$?
echo
return $retval
}
force_reload() {
restart
}
fdr_status() {
status $prog
}
case "$1" in
start|stop|restart|reload)
$1
;;
force-reload)
force_reload
;;
check)
check
;;
status)
fdr_status
;;
condrestart|try-restart)
[ ! -f $lockfile ] || restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
exit 2
esac
mkdir /etc/haproxy
mkdir /var/lib/haproxy
useradd -r haproxy
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode tcp
log global
option dontlognull
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 600
listen stats
mode http
bind :6677
stats enable
stats hide-version
stats uri /haproxyadmin?stats
stats realm Haproxy Statistics
stats auth admin:admin
stats admin if TRUE
frontend main
bind *:23306
default_backend mysql
backend mysql
balance leastconn
server m1 192.168.81.128:3306 check port 3306 maxconn 300
server m2 192.168.81.129:3306 check port 3306 maxconn 300
###Provides UDP syslog reception //去掉下面两行注释,开启UDP监听
$ModLoad imudp
$UDPServerRun 514
local2.* /var/log/haproxy.log //添加此行
service rsyslog restart
service haproxy start
chkconfig --add haproxy
chkconfig haproxy on
netstat -tnlp
mysql -P23306 -uroot -p123456 -h192.168.81.129 # 查看
server_id,判断是否成功
1、download 源码包,下载地址:http://www.keepalived.org/download.html
2、在81.128和81.129解压缩安装
tar xf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure --prefix=/usr/local/keepalived --sbindir=/usr/sbin/ --sysconfdir=/etc/ --mandir=/usr/local/share/man/
make && make install
chkconfig --add keepalived
chkconfig keepalived on
3、提供配置文件
vim /etc/keepalived/keepalived.conf # 两个机器配置文件不同
! Configuration File for keepalived
global_defs {
notification_email { # 忽略
[email protected]
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_haproxy {
script "/etc/keepalived/chk.sh" # 检查haproxy的脚本
interval 2 # 每两秒检查一次
}
vrrp_instance VI_1 {
state BACKUP # 定义为BACKUP节点
nopreempt # 开启不抢占,另一个不写
interface ens33
virtual_router_id 51
priority 100 # 开启了不抢占,所以此处优先级必须高于另一台,另一个写99
advert_int 1
authentication {
auth_type PASS
auth_pass abcd
}
virtual_ipaddress {
192.168.81.150 # 配置VIP
}
track_script {
chk_haproxy # 调用检查脚本
}
notify_backup "/etc/init.d/haproxy restart"
notify_fault "/etc/init.d/haproxy stop"
}
4、创建check文件
vim /etc/keepalived/chk.sh
#!/bin/bash
if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then
/etc/init.d/keepalived stop
fi
chmod +x /etc/keepalived/chk.sh
service keepalived start
5、测试
ip addr # 查看是否绑定了虚ip
tcpdump -nn -i ens33 vrrp # 抓包查看
http://192.168.81.128:6677/haproxyadmin?stats # 通过haproxy查看状态
Grub是一个来自Gnu项目的启动引导程序,它是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。在Ubuntu系统中,很多用户都会给Grub2设置密码,但具体该怎么操作呢?(以下操作在Ubuntu 17.10中有效)
操作步骤:
leekwen@leekwen:~# grub-mkpasswd-pbkdf2
Enter password: <<<这里输入你的grub密码
Reenter password: <<<这里输入你的grub密码
Your PBKDF2 is grub.pbkdf2.sha512.10000.BCxxxxxxxxxxxxx45572D3B4E40500CE
leekwen@leekwen:~# vim /etc/grub.d/40_custom <<<这是您应该放置自己的自定义设置的地方
在40_custom文件末尾添加如下两行:
set superusers="leekwen"
password_pbkdf2 leekwen grub.pbkdf2.sha512.10000.BCxxxxxxxxxxxxx45572D3B4E40500CE
第二行的格式为:password_pbkdf2 user1 EncryptedPasswordOfUser1
leekwen@leekwen:/etc/grub.d# update-grub <<<运行此命令才可以生效
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-15-generic
Found initrd image: /boot/initrd.img-3.11.0-15-generic
Found memtest86+ image: /memtest86+.bin
done
这样重启后,在grub启动菜单,启动操作系统,编辑引导项,或进入命令行时,都会让你输入:
username:
password:
只有用户名(比如我刚刚设置的用户名为:leekwen)及密码正确后(刚刚用grub-mkpasswd-pbkdf2生成的密码),才可以进入启动项的编辑菜单,启动项这一步倒是安全了,记住,修改40_custom后一定要运行“update-grub”命令,这样才能生效!
以上就是Ubuntu中设置Grub2密码的方法,不清楚的用户可以参考上面介绍的操作步骤来设置密码,有需要的用户赶紧试试吧!
通过centos脚本来执行备份操作,使用crontab命令实现定时备份与恢复功能,并删除指定天数前的备份
具体操作:
mkdir -p /home/backup/mongod_bak/mongod_bak_now
mkdir -p /home/backup/mongod_bak/mongod_bak_list
vi /home/crontab/mongod_bak.sh #新建文件,输入以下代码
#!/bin/sh
DUMP=/usr/local/mongodb/bin/mongodump #mongodump备份文件执行路径
OUT_DIR=/home/backup/mongod_bak/mongod_bak_now #临时备份目录
TAR_DIR=/home/backup/mongod_bak/mongod_bak_list #备份存放路径
DATE=`date +%Y_%m_%d` #获取当前系统时间
DB_USER=username #数据库账号
DB_PASS=123456 #数据库密码
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
TAR_BAK="mongod_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE #备份全部数据库
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE #压缩为.tar.gz格式
find $TAR_DIR/ -mtime +$DAYS -delete #删除7天前的备份文件
chmod +x /home/crontab/mongod_bak.sh
crontab -e
在下面添加
30 1 * * * root /home/crontab/mongod_bak.sh #表示每天凌晨1点30执行备份
/sbin/service crond reload #重新载入配置
chkconfig --level 35 crond on #加入开机自动启动:
/sbin/service crond start #启动服务
crontab -l #列出crontab文件
每天在/home/backup/mongod_bak/mongod_bak_list目录下面可以看到mongod_bak_2017_02_28.tar.gz这样的压缩文件。
至此,Linux下自动备份Mongodb数据库并删除指定天数前的备份完成。
Mongodb定时恢复备份
恢复全部数据库:
mongorestore Cdrop Cdirectoryperdb
/home/backup/mongod_bak/mongod_bak_now/2017_02_28/
恢复单个数据库:
mongorestore Cdrop -d dataname Cdirectoryperdb
/home/backup/mongod_bak/mongod_bak_now/2017_02_28/dataname
Cdrop参数:恢复数据之前删除原来数据库数据,避免数据重复。
Cdirectoryperdb参数:数据库备份目录
-d参数:后面跟要恢复的数据库名称
crontab命令:
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρ?νο?),原意是时间。
通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
安装crontab:
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
说明:
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start #启动服务
/sbin/service crond stop #关闭服务
/sbin/service crond restart #重启服务
/sbin/service crond reload #重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
其他命令:
#查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
#加入开机自动启动:
chkconfig --level 35 crond on
#列出crontab文件
crontab -l
#编辑crontab文件
crontab -e
#删除crontab文件
$ crontab -r
#恢复丢失的crontab文件
#假设你在自己的$HOME目录下还有一个备份,那么可以将其拷贝到/var/spool/cron/<username>,其中<username >是用户名
#或者使用如下命令其中,<filename>是你在$HOME目录中副本的文件名
crontab <filename>
2 种方法:
Ubuntu Linux系统中有多个实用程序,允许你对优盘进行格式化。你可以使用Ubuntu系统自带的磁盘实用程序,或使用终端格式化优盘。不论哪种方法,都可以在几分钟内完成格式化。

1、点击Dash按钮,搜索“磁盘”。 在应用程序搜索结果中能看到“磁盘”程序。

2、从搜索结果中打开磁盘程序。左侧窗格中会出现已连接的设备列表。

3、从设备列表中选择优盘。它的详细情况会罗列在右侧面板中。

4、至少选中优盘上的一卷。大部分优盘上只有一卷,如果优盘上有很多卷,你可以选中一卷或全选。

5、点击右上方的齿轮按钮,选择“格式化”。 打开格式化选项。

6、选择你想要抹除的数据。快速格式化不会覆盖已存在的数据,而慢速格式化则会零覆盖已存在的数据,删除所有数据并查找错误。

7、选择文件类型。有多种不同的文件类型可供你选择。

8、格式化优盘。点击格式化按钮,等待优盘完成格式化。如果优盘上内容很多,需要抹除的数据很多,那么格式化需要花费一段时间。

1、打开终端。可以从Dash上打开终端,或同时按下Ctrl+Alt+T组合键。

2、输入.lsblk ,按下 回车键。 接着会打开电脑已连接的存储设备列表。

3、找到优盘。使用 大小 一栏,在列表中找到优盘。

4、卸载优盘分区。你需要在格式化前卸载优盘。输入以下命令,按下优盘分区标签sdb1。
·sudo umount /dev/sdb1·

5、抹除设备上所有数据(可选)。你可以输入以下命令,删除所有数据。用优盘标签代替 sdb。
sudo dd if=/dev/zero of=/dev/sdb bs=4k && sync
这个过程会花费一点时间,并且可能出现卡顿现象。

6、创建一个新的分区表。这个分区表会控制驱动器上的卷。输入以下命令,用优盘标签代替 sdb。
输入·sudo fdisk /dev/sdb· ,按下回车键。按下O创建空白分区表。

7、按下.N 创建新分区。 输入你想要创建的分区大小。如果想要创建单独的分区,请输入整个优盘的大小。

8、按下.W 书写表格并退出。 这会花费一会时间。

9、再次运行.lsblk ,浏览新分区。 它会被列在游览标签的下方。

10、格式化新卷。此时已创建新卷,你可以将它格式化成选择的文件类型。输入以下命令,将它格式化成兼容性最强的FAT32文件系统。用分区标签代替sdb1。
sudo mkfs.vfat /dev/sdb1

11、完成后,安全弹出优盘。完成格式化后,安全弹出优盘:
sudo eject /dev/sdb
来源和引文
Aria2作为一款Linux下的下载神器,很多极客都在使用,可以下载http资源、种子文件、磁力链接等,功能强大,而且整合Chrome插件可以摆脱百度云盘的速度限制。
Aria2官方项目页面:https://aria2.github.io/
下面介绍Aria2在Ubuntu的搭建方法
wget https://github.com/aria2/aria2/releases/download/release-1.22.0/aria2-1.22.0.tar.gz
tar xzvf aria2-1.22.0.tar.gz
cd aria2-1.22.0
./configure
make
make install
man aria2c // 查看aria2c manual
创建配置文件 参考文档:https://aria2c.com/usage.html
mkdir /etc/aria2/
vim /etc/aria2/aria2.conf
直接进行下一步,不要填写,博主会提供一个配置文件下载
:wq! //保存
下载博主配置好的conf文件:https://www.buguai.cc/wp-content/uploads/2017/07/aria2.zip
再使用SFTP客户端连接服务器,传到/etc/aria2 文件夹下替换即可。
直接在命令行下载
aria2c "download.url"
下载完成后自动退出,就和wget 的工作方式一样。
aria2c --conf-path=
Aria2作为后台常驻程序,监测rpc端口的活动情况,添加并下载文件。完成后继续在后台运行。
涉及到命令输入,力求简化,第二种模式明显更省事。
命令行启动
aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/downloads -D (-D daemon模式,用于后台执行)
##开始监听RPC
命令行的模式无疑使用有些麻烦,而且SSH客户端不可能我们一直连接着,我们需要一个WebUI管理监测。
推荐两个:Aria2 Web UI或者YAAW。
Web UI是MD界面的,界面好看,但是因为未知原因博主未能成功使用,所以转而使用YAAW,YAAW相对更简单,基本功能都有,例如添加任务、设置下载目录、设置下载客户端UA、删除、暂停等。

git clone https://github.com/ziahamza/webui-aria2
如果你不想搭建可使用https://ziahamza.github.io/webui-aria2/,配置数据是存在本地浏览器的,不需要注册。
注意:需要根据情况设置一下Aria2 RPC的地址,一般为Aria2后台进程运行的ip:port,例如192.168.119.100:6800。
YAAW
git clone https://github.com/binux/yaaw
YAAW也有线版本
https://aria2c.com/
https://binux.github.io/yaaw/demo/
注意:需要根据情况设置一下Aria2 RPC的地址,一般为Aria2后台进程运行的ip:port,例如192.168.119.100:6800。
其他版本:方便我们使用Aria2
Aria2c Remote Control
https://sourceforge.net/projects/aria2cremote/
使用token验证(建议使用)
需要1.18.4以上版本,帐号密码方式将在后续版本中停用!
配置文件
# token验证
rpc-secret=secret
命令行
使用--rpc-secret=xxxxxx选项
启用验证后,使用https://token:secret@hostname:port/jsonrpc的地址格式设置secret。
使用密码验证
需要1.15.2以上,1.18.6以下版本
1.18.4新增了--rpc-secret ,设置的RPC授权令牌, 取代--rpc-user和--rpc-passwd选项
配置文件
#用户名
rpc-user=username
#密码
rpc-passwd=passwd
命令行
使用 --rpc-user=user --rpc-passwd=pwd 选项
启用验证后,使用https://username:passwd@hostname:port/jsonrpc的地址格式设置密码。
对于RPC模式来说, 界面和后端是分离的, 只要给后端设置密码即可. 前端认证什么的是毫无意义的。
YAAW搭配脚本
迅雷离线(需会员账号)
Chrome Extension: ThunderLixianAssistant
UserScript: ThunderLixianExporter
旋风离线
UserScript: XuanFengEx
UserScript: LixianExporter
百度网盘
Chrome Extension: BaiduExporter
Firefox Addons: BaiduExporter
UserScript: BaiduPanDownloadHelper
115网盘
Chrome Extension: 115exporter
其他脚本
Chrome Extension
添加到aria2
Chrome Download Helper