LINUX 61 rsync定时同步;软链接
定时同步报错
[root@backup ~]# cat rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java &&/dev/null
[root@backup ~]# cd /backup
[root@backup backup]# ls
app1_java
[root@backup backup]# cd app1_java
[root@backup app1_java]# ls
1.java 4.java aa1 aa4 aa7 file10.java file1.java file4.java file7.java
2.java 5.java aa2 aa5 aa8 file11.java file2.java file5.java file8.java
3.java 6.java aa3 aa6 aa9 file12.java file3.java file6.java file9.java
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java &&/dev/null
Password:
receiving incremental file listsent 22 bytes received 311 bytes 74.00 bytes/sec
total size is 6,291,456 speedup is 18,893.26
bash: /dev/null: 权限不够
/dev/null 权限不够
192.168.235.100
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file listsent 22 bytes received 311 bytes 222.00 bytes/sec
total size is 6,291,456 speedup is 18,893.26
[root@backup app1_java]# ls
1.java 4.java aa1 aa4 aa7 file10.java file1.java file4.java file7.java
2.java 5.java aa2 aa5 aa8 file11.java file2.java file5.java file8.java
3.java 6.java aa3 aa6 aa9 file12.java file3.java file6.java file9.java
[root@backup app1_java]#
192.168.235.10
[root@code ~]# cd /etc
[root@code etc]# cat rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
# path = /home/ftp
# comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
[root@code etc]# cat /etc/rsyncd.secrets
user1:123
user2:123
user3:
[root@code etc]# cat /app/java_project
cat: /app/java_project: 是一个目录
[root@code etc]# ls /app/java_project
2.java aa1 aa2 aa7 aa8 aa9 file10.java file11.java file12.java file1.java file2.java file3.java file4.java file5.java
[root@code etc]# cat /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.# This sshd was compiled with PATH=/usr/local/bin:/usr/bin# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key# Ciphers and keying
#RekeyLimit default none# Logging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO# Authentication:#LoginGraceTime 2m
#PermitRootLogin yes
为什么没有实现同步?user3对相关目录没有权限?
192.168.235.10:
[root@code etc]# ll /app/java_project
总用量 6144
-rw-r--r--. 1 root root 6291456 5月 15 21:30 2.java
drwxr-xr-x. 2 root root 6 5月 15 20:51 aa1
drwxr-xr-x. 2 root root 6 5月 15 20:51 aa2
-rw-r--r--. 1 root root 0 5月 31 20:33 aa7
-rw-r--r--. 1 root root 0 5月 31 20:33 aa8
-rw-r--r--. 1 root root 0 5月 31 20:33 aa9
-rw-r--r--. 1 root root 0 5月 31 20:33 file10.java
-rw-r--r--. 1 root root 0 5月 31 20:33 file11.java
-rw-r--r--. 1 root root 0 5月 31 20:33 file12.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file1.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file2.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file3.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file4.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file5.java
[root@code etc]# ll /app
总用量 0
drwxr-xr-x. 4 root root 222 5月 31 21:08 java_project
/etc/rsync.conf中的auth users是归属哪个属组,对文件有哪些权限
[root@code etc]# cat rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
# path = /home/ftp
# comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
[root@code etc]# cat /etc/rsyncd.secrets
user1:123
user2:123
user3:
为什么还是没有同步
192.168.235.100
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file list
./
aa1/
aa2/sent 71 bytes received 362 bytes 123.71 bytes/sec
total size is 6,291,456 speedup is 14,529.92
[root@backup app1_java]# ls
1.java 4.java aa1 aa4 aa7 file10.java file1.java file4.java file7.java
2.java 5.java aa2 aa5 aa8 file11.java file2.java file5.java file8.java
3.java 6.java aa3 aa6 aa9 file12.java file3.java file6.java file9.java
[root@backup app1_java]#
192.168.235.10
[root@code etc]# useradd -M -s /sbin/nologin rsync
[root@code etc]# chown -R rsync:rsync /app/java_project[root@code etc]# cat rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:uid = rsyncgid = rsync
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
# path = /home/ftp
# comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
read only=no
[root@code etc]# rsync --daemon --config=/etc/rsyncd.conf
[root@code etc]# ls /app/java_project
2.java aa2 aa8 file10.java file12.java file2.java file4.java
aa1 aa7 aa9 file11.java file1.java file3.java file5.java[root@code etc]# ll /app
总用量 0
drwxr-xr-x. 4 rsync rsync 222 5月 31 21:08 java_project
[root@code etc]# ll /app/java_project
总用量 6144
-rw-r--r--. 1 rsync rsync 6291456 5月 15 21:30 2.java
drwxr-xr-x. 2 rsync rsync 6 5月 15 20:51 aa1
drwxr-xr-x. 2 rsync rsync 6 5月 15 20:51 aa2
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 aa7
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 aa8
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 aa9
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 file10.java
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 file11.java
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 file12.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file1.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file2.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file3.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file4.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file5.java
是因为没有改x权限吗?
为什么/app的u都有x权限,/app的属主、属组是rsync吗?如果是,/app u的位置都有rwx权限,为什么(ll /app是查看app的权限还是app内文件夹的权限)/app/java_project 中的部分文件u的位置没有x权限。是因为创建文件时属主属组不是rsync吗?文件夹的权限不能覆盖文件内部吗?
426
为什么客户端发生删除操作,服务端没有同步
哦哦
192.168.235.10
[root@code java_project]# mkdir file{13..15}.java
[root@code java_project]# ll
总用量 6144
-rw-r--r--. 1 rsync rsync 6291456 5月 15 21:30 2.java
drwxr-xr-x. 2 rsync rsync 6 5月 15 20:51 aa1
drwxr-xr-x. 2 rsync rsync 6 5月 15 20:51 aa2
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 aa7
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 aa8
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 aa9
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 file10.java
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 file11.java
-rw-r--r--. 1 rsync rsync 0 5月 31 20:33 file12.java
drwxr-xr-x. 2 root root 6 6月 1 15:53 file13.java
drwxr-xr-x. 2 root root 6 6月 1 15:53 file14.java
drwxr-xr-x. 2 root root 6 6月 1 15:53 file15.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file1.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file2.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file3.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file4.java
-rw-r--r--. 1 rsync rsync 0 5月 15 20:54 file5.java
[root@code java_project]#
192.168.235.100
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file list
./
file13.java/
file14.java/
file15.java/sent 41 bytes received 409 bytes 180.00 bytes/sec
total size is 6,291,456 speedup is 13,981.01
[root@backup app1_java]# ls
1.java 6.java aa5 file10.java file15.java file5.java
2.java aa1 aa6 file11.java file1.java file6.java
3.java aa2 aa7 file12.java file2.java file7.java
4.java aa3 aa8 file13.java file3.java file8.java
5.java aa4 aa9 file14.java file4.java file9.java
192.168.235.100
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java
Password:
receiving incremental file list
./
file13.java/
file14.java/
file15.java/sent 41 bytes received 409 bytes 180.00 bytes/sec
total size is 6,291,456 speedup is 13,981.01
[root@backup app1_java]# ls
1.java 6.java aa5 file10.java file15.java file5.java
2.java aa1 aa6 file11.java file1.java file6.java
3.java aa2 aa7 file12.java file2.java file7.java
4.java aa3 aa8 file13.java file3.java file8.java
5.java aa4 aa9 file14.java file4.java file9.java
[root@backup app1_java]# ll
总用量 6144
-rw-rw-r--. 1 caozx26 caozx26 0 5月 24 13:35 1.java
-rw-r--r--. 1 1002 1002 6291456 5月 15 21:30 2.java
-rw-rw-r--. 1 caozx26 caozx26 0 5月 24 13:35 3.java
-rw-rw-r--. 1 caozx26 caozx26 0 5月 24 13:35 4.java
-rw-rw-r--. 1 caozx26 caozx26 0 5月 24 13:35 5.java
-rw-rw-r--. 1 caozx26 caozx26 0 5月 24 13:35 6.java
drwxr-xr-x. 2 1002 1002 6 5月 15 20:51 aa1
drwxr-xr-x. 2 1002 1002 6 5月 15 20:51 aa2
drwxr-xr-x. 2 root root 6 5月 15 20:51 aa3
-rw-r--r--. 1 root root 0 5月 31 20:33 aa4
-rw-r--r--. 1 root root 0 5月 31 20:33 aa5
-rw-r--r--. 1 root root 0 5月 31 20:33 aa6
-rw-r--r--. 1 1002 1002 0 5月 31 20:33 aa7
-rw-r--r--. 1 1002 1002 0 5月 31 20:33 aa8
-rw-r--r--. 1 1002 1002 0 5月 31 20:33 aa9
-rw-r--r--. 1 1002 1002 0 5月 31 20:33 file10.java
-rw-r--r--. 1 1002 1002 0 5月 31 20:33 file11.java
-rw-r--r--. 1 1002 1002 0 5月 31 20:33 file12.java
drwxr-xr-x. 2 root root 6 6月 1 15:53 file13.java
drwxr-xr-x. 2 root root 6 6月 1 15:53 file14.java
drwxr-xr-x. 2 root root 6 6月 1 15:53 file15.java
-rw-r--r--. 1 1002 1002 0 5月 15 20:54 file1.java
-rw-r--r--. 1 1002 1002 0 5月 15 20:54 file2.java
-rw-r--r--. 1 1002 1002 0 5月 15 20:54 file3.java
-rw-r--r--. 1 1002 1002 0 5月 15 20:54 file4.java
-rw-r--r--. 1 1002 1002 0 5月 15 20:54 file5.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file6.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file7.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file8.java
-rw-r--r--. 1 root root 0 5月 15 20:54 file9.java
[root@backup app1_java]# ps -ef |grep rsync
root 96154 94631 0 16:01 pts/1 00:00:00 grep --color=auto rsync
这里的属主属组是1002是什么意思
客户端、服务端是相对的概念吗
192.168.235.10
[root@code java_project]# touch cc{1..3}
[root@code java_project]# ls
2.java aa2 aa4 aa6 aa8 bb3 bb5 cc1 cc3 file11.java file13.java file15.java file2.java file4.java
aa1 aa3 aa5 aa7 aa9 bb4 bb6 cc2 file10.java file12.java file14.java file1.java file3.java file5.java
192.168.235.100
[root@backup app1_java]# rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
Password:
[root@backup app1_java]# ls
1.java 4.java aa1 aa4 aa7 bb3 bb6 cc3 file12.java file15.java file3.java file6.java file9.java
2.java 5.java aa2 aa5 aa8 bb4 cc1 file10.java file13.java file1.java file4.java file7.java
3.java 6.java aa3 aa6 aa9 bb5 cc2 file11.java file14.java file2.java file5.java file8.java
[root@backup app1_java]#
192.168.235.10
[root@code java_project]# touch dd{101..103}.java
[root@code java_project]# ls
2.java aa3 aa6 aa9 bb5 cc2 dd102.java file11.java file14.java file2.java file5.java
aa1 aa4 aa7 bb3 bb6 cc3 dd103.java file12.java file15.java file3.java
aa2 aa5 aa8 bb4 cc1 dd101.java file10.java file13.java file1.java file4.java
192.168.235.100
[root@backup caozx26]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup caozx26]# crontab -e
crontab: installing new crontab
[root@backup caozx26]# crontab -k
crontab:无效选项 -- k
crontab: usage error: unrecognized option
Usage:crontab [options] filecrontab [options]crontab -n [hostname]Options:-u <user> define user-e edit user's crontab-l list user's crontab-r delete user's crontab-i prompt before deleting-n <host> set host in cluster to run users' crontabs-c get host in cluster to run users' crontabs-s selinux context-x <mask> enable debuggingDefault operation is replace, per 1003.2
[root@backup caozx26]# crontab -l
02 19 * * * /root/rsync_java.sh[root@backup caozx26]# cd /backup/app1_java
[root@backup app1_java]# ls
1.java 4.java aa1 aa4 aa7 bb3 bb6 cc3 file12.java file15.java file3.java file6.java file9.java
2.java 5.java aa2 aa5 aa8 bb4 cc1 file10.java file13.java file1.java file4.java file7.java
3.java 6.java aa3 aa6 aa9 bb5 cc2 file11.java file14.java file2.java file5.java file8.java
[root@backup app1_java]# ls
1.java 5.java aa3 aa7 bb4 cc2 dd103.java file13.java file2.java file6.java
2.java 6.java aa4 aa8 bb5 cc3 file10.java file14.java file3.java file7.java
3.java aa1 aa5 aa9 bb6 dd101.java file11.java file15.java file4.java file8.java
4.java aa2 aa6 bb3 cc1 dd102.java file12.java file1.java file5.java file9.java
[root@backup app1_java]#
如果设置虚拟用户为使用密码登录,能定时备份吗?
192.168.235.10
[root@code caozx26]# cat /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:uid = rsyncgid = rsync
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
# path = /home/ftp
# comment = ftp export area
#[app]
path=/app/java_project
log file=/var/log/rsync.log
auth users = user1,user2,user3
secrets file=/etc/rsyncd.secrets
read only=no
[root@code caozx26]# cat /etc/rsyncd.secrets
user1:123
user2:123
user3:
[root@code caozx26]# cd /app/java_project
[root@code java_project]# ls
2.java aa3 aa6 aa9 bb5 cc2 dd102.java file11.java file14.java file2.java file5.java
aa1 aa4 aa7 bb3 bb6 cc3 dd103.java file12.java file15.java file3.java
aa2 aa5 aa8 bb4 cc1 dd101.java file10.java file13.java file1.java file4.java
[root@code java_project]# mkdir ee{1..5}
[root@code java_project]# ls
2.java aa3 aa6 aa9 bb5 cc2 dd102.java ee2 ee5 file12.java file15.java file3.java
aa1 aa4 aa7 bb3 bb6 cc3 dd103.java ee3 file10.java file13.java file1.java file4.java
aa2 aa5 aa8 bb4 cc1 dd101.java ee1 ee4 file11.java file14.java file2.java file5.java
192.168.235.100
[root@backup backup]# crontab -l
02 19 * * * /root/rsync_java.sh[root@backup backup]# crontab -e
crontab: installing new crontab
[root@backup backup]# crontab -l
30 21 * * * /root/rsync_java.sh[root@backup backup]# cat rsync_java.sh
cat: rsync_java.sh: 没有那个文件或目录
[root@backup backup]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup backup]# vim /root/rsync_java.sh
[root@backup backup]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user1@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup backup]# cd app1_java
[root@backup app1_java]# ls
1.java 5.java aa3 aa7 bb4 cc2 dd103.java file13.java file2.java file6.java
2.java 6.java aa4 aa8 bb5 cc3 file10.java file14.java file3.java file7.java
3.java aa1 aa5 aa9 bb6 dd101.java file11.java file15.java file4.java file8.java
4.java aa2 aa6 bb3 cc1 dd102.java file12.java file1.java file5.java file9.java[root@backup backup]# cd app1_java
[root@backup app1_java]# ls
1.java 5.java aa3 aa7 bb4 cc2 dd103.java file13.java file2.java file6.java
2.java 6.java aa4 aa8 bb5 cc3 file10.java file14.java file3.java file7.java
3.java aa1 aa5 aa9 bb6 dd101.java file11.java file15.java file4.java file8.java
4.java aa2 aa6 bb3 cc1 dd102.java file12.java file1.java file5.java file9.java
[root@backup app1_java]# ls
1.java 5.java aa3 aa7 bb4 cc2 dd103.java file13.java file2.java file6.java
2.java 6.java aa4 aa8 bb5 cc3 file10.java file14.java file3.java file7.java
3.java aa1 aa5 aa9 bb6 dd101.java file11.java file15.java file4.java file8.java
4.java aa2 aa6 bb3 cc1 dd102.java file12.java file1.java file5.java file9.java
[root@backup app1_java]# date
2025年 06月 01日 星期日 21:37:07 CST
[root@backup app1_java]# ls
1.java 5.java aa3 aa7 bb4 cc2 dd103.java file13.java file2.java file6.java
2.java 6.java aa4 aa8 bb5 cc3 file10.java file14.java file3.java file7.java
3.java aa1 aa5 aa9 bb6 dd101.java file11.java file15.java file4.java file8.java
4.java aa2 aa6 bb3 cc1 dd102.java file12.java file1.java file5.java file9.java
未发生同步
192.168.235.100
[root@backup app1_java]# crontab -e
crontab: installing new crontab
[root@backup app1_java]# crontab -l
40 21 * * * /root/rsync_java.sh[root@backup app1_java]# vim /root/rsync_java.sh
[root@backup app1_java]# cat /root/rsync_java.sh
!/bin/bash
rsync -av user3@192.168.235.10::app /backup/app1_java >& /dev/null 2>&1
[root@backup app1_java]# ls
1.java 5.java aa3 aa7 bb4 cc2 dd103.java ee4 file12.java file1.java file5.java file9.java
2.java 6.java aa4 aa8 bb5 cc3 ee1 ee5 file13.java file2.java file6.java
3.java aa1 aa5 aa9 bb6 dd101.java ee2 file10.java file14.java file3.java file7.java
4.java aa2 aa6 bb3 cc1 dd102.java ee3 file11.java file15.java file4.java file8.java
[root@backup app1_java]# date
2025年 06月 01日 星期日 21:40:51 CST
[root@backup app1_java]#
发生同步
硬链接、软链接
[root@code axel-2.4]# ./configure --prefix=/opt/axel
The strip option is enabled. This should not be a problem usually, but on some
systems it breaks stuff.Configuration done:Internationalization enabled.Debugging disabled.Binary stripping enabled.
[root@code code]# ls
axel-1.0a.tar.gz inotify-tools-3.13 nohup.out 模板 图片 下载 桌面
inotify.sh inotify-tools-3.13.tar.gz 公共 视频 文档 音乐
[root@code code]# tar -zcf axel-1.0a.tar.gz
tar: 谨慎地拒绝创建空归档文件
请用“tar --help”或“tar --usage”获得更多信息。
[root@code code]# ls
axel-1.0a.tar.gz inotify-tools-3.13 公共 图片 音乐
axel-2.4.tar.gz inotify-tools-3.13.tar.gz 模板 文档 桌面
inotify.sh nohup.out 视频 下载
[root@code code]# tar -zcf axel-2.4.tar.gz
tar: 谨慎地拒绝创建空归档文件
请用“tar --help”或“tar --usage”获得更多信息。
[root@code code]# tar -xf axel-2.4.tar.gz
[root@code code]# ls
axel-1.0a.tar.gz inotify.sh nohup.out 视频 下载
axel-2.4 inotify-tools-3.13 公共 图片 音乐
axel-2.4.tar.gz inotify-tools-3.13.tar.gz 模板 文档 桌面
[root@code code]# cd axel-2.4/
[root@code axel-2.4]# cd ~
[root@code ~]# ls
2010 anaconda-ks.cfg linux.txt root@192.168.0.25
2011.txt initial-setup-ks.cfg q shop
[root@code ~]# cd /.
[root@code /]# ks
bash: ks: 未找到命令...
[root@code /]# ls
aa3 aa6 boot dir11 dir2 home media proc sbin sys var
aa4 app dev dir12 dir3 lib mnt root shop tmp
aa5 bin dir1 dir13 etc lib64 opt run srv usr
[root@code /]# cd ./
[root@code /]# ls
aa3 aa6 boot dir11 dir2 home media proc sbin sys var
aa4 app dev dir12 dir3 lib mnt root shop tmp
aa5 bin dir1 dir13 etc lib64 opt run srv usr
[root@code /]# cd /home/code
[root@code code]# ls
axel-1.0a.tar.gz inotify.sh nohup.out 视频 下载
axel-2.4 inotify-tools-3.13 公共 图片 音乐
axel-2.4.tar.gz inotify-tools-3.13.tar.gz 模板 文档 桌面
[root@code code]# cd
[root@code ~]# ls
2010 anaconda-ks.cfg linux.txt root@192.168.0.25
2011.txt initial-setup-ks.cfg q shop
[root@code ~]# cd /
[root@code /]# ls
aa3 aa6 boot dir11 dir2 home media proc sbin sys var
aa4 app dev dir12 dir3 lib mnt root shop tmp
aa5 bin dir1 dir13 etc lib64 opt run srv usr
[root@code /]# cd /home/code/axel
bash: cd: /home/code/axel: 没有那个文件或目录
[root@code /]# cd /home/code
[root@code code]# ls
axel-1.0a.tar.gz inotify.sh nohup.out 视频 下载
axel-2.4 inotify-tools-3.13 公共 图片 音乐
axel-2.4.tar.gz inotify-tools-3.13.tar.gz 模板 文档 桌面
[root@code code]# cd axel-2.4/
[root@code axel-2.4]# ls
API axel_zh_CN.1 conn.c ftp.c Makefile search.h
axel.1 CHANGES conn.h ftp.h nl.po tcp.c
axel.c conf.c COPYING gui README tcp.h
axel.h conf.h CREDITS http.c ru.po text.c
axelrc.example configure de.po http.h search.c zh_CN.po
[root@code axel-2.4]# ./configure -help
Axel configureUsage: ./configure [OPTIONS]Option Description Default--prefix=... Directories to put files in /usr/local
--bindir=... $prefix/bin
--etcdir=... $prefix/etc
--mandir=... $sharedir/man
--locale=... $sharedir/locale--i18n=0/1 Disable/enable internationalization 1
--debug=0/1 Disable/enable debugging 0
--strip=0/1 Disable/enable binary stripping 1
[root@code axel-2.4]# ./configure --prefix=/opt/axel
The strip option is enabled. This should not be a problem usually, but on some
systems it breaks stuff.Configuration done:Internationalization enabled.Debugging disabled.Binary stripping enabled.
[root@code axel-2.4]# ./configure --prefix=/opt/axel --disable-strip
Axel configureUsage: ./configure [OPTIONS]Option Description Default--prefix=... Directories to put files in /opt/axel
--bindir=... $prefix/bin
--etcdir=... $prefix/etc
--mandir=... $sharedir/man
--locale=... $sharedir/locale--i18n=0/1 Disable/enable internationalization 1
--debug=0/1 Disable/enable debugging 0
--strip=0/1 Disable/enable binary stripping 1
[root@code axel-2.4]# make
gcc -c axel.c -o axel.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c conf.c -o conf.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c conn.c -o conn.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c ftp.c -o ftp.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c http.c -o http.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c search.c -o search.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c tcp.c -o tcp.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc -c text.c -o text.o -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os
gcc *.o -o axel -lpthread
strip axel
msgfmt -vo nl.mo nl.po
40 条已翻译消息,6 条模糊消息,4 条未翻译消息.
msgfmt -vo de.mo de.po
46 条已翻译消息,4 条模糊消息.
msgfmt -vo ru.mo ru.po
46 条已翻译消息,2 条模糊消息,2 条未翻译消息.
msgfmt -vo zh_CN.mo zh_CN.po
42 条已翻译消息,6 条模糊消息,2 条未翻译消息.
[root@code axel-2.4]# make install
mkdir -p /opt/axel/bin/
cp axel /opt/axel/bin/axel
mkdir -p /opt/axel/etc/
cp axelrc.example /opt/axel/etc/axelrc
mkdir -p /opt/axel/share/man/man1/
cp axel.1 /opt/axel/share/man/man1/axel.1
mkdir -p /opt/axel/share/man/zh_CN/man1/
cp axel_zh_CN.1 /opt/axel/share/man/zh_CN/man1/axel.1
Installing locale files...
[root@code axel-2.4]# axel https://mirrors.aliyun.com/centos-stream/
bash: axel: 未找到命令...
[root@code axel-2.4]# which axel
/usr/bin/which: no axel in (/sbin:/bin:/usr/sbin:/usr/bin)
[root@code axel-2.4]# ll /opt/axel/bin
总用量 36
-rwxr-xr-x. 1 root root 35864 6月 1 22:25 axel
[root@code axel-2.4]# cd /opt/axel/bin
[root@code bin]# ls
axel
[root@code bin]# cd ~
[root@code ~]# cd /home/code
[root@code code]# ls
axel-1.0a.tar.gz inotify.sh nohup.out 视频 下载
axel-2.4 inotify-tools-3.13 公共 图片 音乐
axel-2.4.tar.gz inotify-tools-3.13.tar.gz 模板 文档 桌面
[root@code code]# cd axel-2.4/
[root@code axel-2.4]# ls
API CHANGES conn.o gui README tcp.o
axel conf.c COPYING http.c ru.mo text.c
axel.1 conf.h CREDITS http.h ru.po text.o
axel.c config.h de.mo http.o search.c zh_CN.mo
axel.h configure de.po Makefile search.h zh_CN.po
axel.o conf.o ftp.c Makefile.settings search.o
axelrc.example conn.c ftp.h nl.mo tcp.c
axel_zh_CN.1 conn.h ftp.o nl.po tcp.h
[root@code axel-2.4]# which axel
/usr/bin/which: no axel in (/sbin:/bin:/usr/sbin:/usr/bin)
[root@code axel-2.4]# ln -s /opt/axel/bin/axel /usr/bin
[root@code axel-2.4]# axel https://mirrors.aliyun.com/centos-stream/
初始化下载: https://mirrors.aliyun.com/centos-stream/
HTTP/1.1 403 Forbidden
[root@code axel-2.4]#
ln -s /源文件路径 /软链接路径