使用tar归档备份并排除某些文件或目录

本文介绍了一种在AIX系统环境下通过tar命令结合排除列表实现特定目录和文件备份的方法,有效避免了不必要的日志文件等占用备份空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近工作中遇到这样一个需求,需要定期备份主机上的脚本文件,但是因为脚本文件分布在各个目录下,有的目录如日志文件并不需要备份,那么就需要排序部分目录或者指定的文件了,方法如下,可供参考(系统环境AIX):

1.将需要排除的目录或者文件每个一行以列表的形式编辑到某个文件中:
[css_int@wgyx1]$cat /int_file/lubinsu/excludeList.txt
lubinsu/backup
lubinsu/etl_data
lubinsu/logs
lubinsu/soft

2.使用-X参数排除目录 -cvf 表示创建归档文件,v归档过程中列出文件 f使用文档名
[css_int@wgyx1]$tar -cvf /int_file/lubinsu/backup/backup_scripts.test.tar -X /int_file/lubinsu/excludeList.txt lubinsu/
a lubinsu/
a lubinsu/cba
a lubinsu/css
a lubinsu/css/p_run_procedure_css.sh 1 blocks
a lubinsu/etl_data (excluded)
a lubinsu/soft (excluded)
a lubinsu/ftp
a lubinsu/logs (excluded)
a lubinsu/ods
a lubinsu/ods/p_run_procedure_ods1.sh 2 blocks
a lubinsu/ods/p_run_procedure_ods2.sh 2 blocks
a lubinsu/p_run_procedure_css.sh 5 blocks
a lubinsu/p_run_procedure_css_yz.sh 5 blocks
a lubinsu/p_run_procedure_ods1.sh 5 blocks
a lubinsu/p_run_procedure_ods2.sh 5 blocks
a lubinsu/retrieval
a lubinsu/backup (excluded)
a lubinsu/scripts
a lubinsu/scripts/p_monitor_init.sh 1 blocks
a lubinsu/scripts/etl_dispatch
a lubinsu/scripts/etl_dispatch/main_dispatch.sh 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl
a lubinsu/scripts/etl_dispatch/css_etl/etl_proc.sh~ 6 blocks
a lubinsu/scripts/etl_dispatch/css_etl/getYesterday.sh 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl/etl_log
a lubinsu/scripts/etl_dispatch/css_etl/db_constr.txt 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/get_info_from_db.sh~ 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/get_ftp_files.sh 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/etl_dispatch.sh~ 22 blocks
a lubinsu/scripts/etl_dispatch/css_etl/clearspace.sh 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/etl_proc.log 22613 blocks
a lubinsu/scripts/etl_dispatch/css_etl/get_info_from_db.sh 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/etl_dispatch.sh 22 blocks
a lubinsu/scripts/etl_dispatch/css_etl/getLastMonth.sh 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/etl_proc.sh 6 blocks
a lubinsu/scripts/etl_dispatch/css_etl/spoolBatch.sh~ 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl/spoolBatch.sh 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl/tmp.fileds~ 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl/parseXML.sh 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/tmp.fileds 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl/spoolSQL 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/.tmp 0 blocks
a lubinsu/scripts/etl_dispatch/css_etl/etl_dispatch_original.sh 18 blocks
a lubinsu/scripts/etl_dispatch/css_etl/spoolTail 1 blocks
a lubinsu/scripts/etl_dispatch/css_etl/spoolBatch.sh_bak 2 blocks
a lubinsu/scripts/etl_dispatch/css_etl/spoolSQL_55313886.sql 2 blocks
a lubinsu/scripts/etl_dispatch/shell_proc_daemon.sh 2 blocks
a lubinsu/scripts/get_date.sh 1 blocks
a lubinsu/scripts/get_itibil_acct_item_owe.sh 10 blocks
a lubinsu/scripts/syn_acct_item_owe_month.sh 4 blocks
a lubinsu/scripts/syn_acct_item_owe_all.sh 2 blocks
a lubinsu/scripts/get_itibil_acct_item_owe_enhance.sh 11 blocks
a lubinsu/scripts/backup.sh 3 blocks
a lubinsu/scripts/syn_acct_item_owe_all_auto.sh 3 blocks
a lubinsu/scripts/passwd.txt 1 blocks
a lubinsu/scripts/call_proc.sh 1 blocks
a lubinsu/scripts/getYesterday.sh 2 blocks
a lubinsu/scripts/syn_acct_item_owe_day.sh 4 blocks
a lubinsu/scripts/syn_acct_item_owe_day_auto_bak.sh 5 blocks
a lubinsu/scripts/syn_acct_item_owe_month_2.sh 4 blocks
a lubinsu/scripts/read_db_test.sh 1 blocks
a lubinsu/scripts/logic_backup.sh 1 blocks
a lubinsu/scripts/backup.sh~ 3 blocks
a lubinsu/scripts/get_last_month.sh 1 blocks
a lubinsu/scripts/get_files_from_ftp.sh 3 blocks
a lubinsu/scripts/source_profile 3 blocks
a lubinsu/scripts/syn_acct_item_owe_day_auto_tmp.sh~ 5 blocks
a lubinsu/scripts/get_itibil_acct_item_owe_enhance_1.sh~ 11 blocks
a lubinsu/scripts/syn_acct_item_owe_day_auto.sh 5 blocks
a lubinsu/scripts/get_itibil_acct_item_owe_enhance_1.sh 11 blocks
a lubinsu/scripts/killProcess.sh~ 1 blocks
a lubinsu/scripts/killProcess.sh 1 blocks
a lubinsu/scripts/syn_acct_item_owe_day_auto_single.sh 2 blocks
a lubinsu/scripts/syn_acct_item_owe_day_auto_tmp.sh 2 blocks
a lubinsu/jdk
a lubinsu/exportFile.sh~ 3 blocks
a lubinsu/exportFile.sh 1 blocks
a lubinsu/backup-scripts.tar.gz 33595 blocks
a lubinsu/excludeList.txt~ 1 blocks
a lubinsu/excludeList.txt 1 blocks

3.使用tvf来检查归档文件中的文件列表,不需要的文件已经排除在外了:
[css_int@wgyx1]$tar tvf backup_scripts.test.tar 
drwxr-x--- 207 1 0 Jun 07 11:38:02 2014 lubinsu/
drwxr-x--- 207 1 0 Oct 06 20:51:35 2013 lubinsu/cba/
drwxr-x--- 207 1 0 Apr 10 15:25:23 2014 lubinsu/css/
-rwxrwxrwx 207 1 505 Apr 10 15:26:24 2014 lubinsu/css/p_run_procedure_css.sh
drwxr-x--- 207 1 0 Mar 05 20:39:27 2014 lubinsu/ftp/
drwxr-x--- 207 1 0 Oct 06 20:57:54 2013 lubinsu/ods/
-rw-r----- 207 1 546 Apr 10 15:30:58 2014 lubinsu/ods/p_run_procedure_ods1.sh
-rw-r----- 207 1 546 Apr 10 15:31:46 2014 lubinsu/ods/p_run_procedure_ods2.sh
-rwxrwxrwx 207 1 2323 Oct 27 17:23:32 2013 lubinsu/p_run_procedure_css.sh
-rw-r----- 207 1 2357 Oct 06 20:57:55 2013 lubinsu/p_run_procedure_css_yz.sh
-rw-r----- 207 1 2358 Oct 06 20:57:56 2013 lubinsu/p_run_procedure_ods1.sh
-rw-r----- 207 1 2358 Oct 06 20:57:56 2013 lubinsu/p_run_procedure_ods2.sh
drwxr-x--- 207 1 0 Nov 21 09:50:07 2013 lubinsu/retrieval/
drwxr-xr-x 207 1 0 Jun 07 10:59:42 2014 lubinsu/scripts/
-rwxrwxrwx 207 1 129 Oct 06 21:05:17 2013 lubinsu/scripts/p_monitor_init.sh
drwxr-xr-x 207 1 0 Apr 10 14:49:45 2014 lubinsu/scripts/etl_dispatch/
-rwxr-xr-x 207 1 517 Mar 29 14:51:09 2014 lubinsu/scripts/etl_dispatch/main_dispatch.sh
drwxr-xr-x 207 1 0 Jun 07 10:22:41 2014 lubinsu/scripts/etl_dispatch/css_etl/
-rwxr-xr-x 207 1 2606 May 13 20:04:16 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_proc.sh~
-rwxr-xr-x 207 1 707 Apr 01 20:14:32 2014 lubinsu/scripts/etl_dispatch/css_etl/getYesterday.sh
drwxr-xr-x 207 1 0 Mar 29 09:29:52 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_log/
-rw-r--r-- 207 1 58 Mar 29 10:31:20 2014 lubinsu/scripts/etl_dispatch/css_etl/db_constr.txt
-rwxr-xr-x 207 1 231 Jun 07 10:17:20 2014 lubinsu/scripts/etl_dispatch/css_etl/get_info_from_db.sh~
-rwxr-xr-x 207 1 217 Mar 29 14:25:15 2014 lubinsu/scripts/etl_dispatch/css_etl/get_ftp_files.sh
-rwxr-xr-x 207 1 10883 May 16 18:32:24 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_dispatch.sh~
-rwxr-xr-x 207 1 159 Mar 29 14:43:11 2014 lubinsu/scripts/etl_dispatch/css_etl/clearspace.sh
-rw-r--r-- 207 1 11577731 Jun 07 11:38:03 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_proc.log
-rwxr-xr-x 207 1 230 Jun 07 10:23:48 2014 lubinsu/scripts/etl_dispatch/css_etl/get_info_from_db.sh
-rwxr-xr-x 207 1 10876 May 16 18:46:14 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_dispatch.sh
-rwxrwxrwx 207 1 299 Apr 16 09:55:30 2014 lubinsu/scripts/etl_dispatch/css_etl/getLastMonth.sh
-rwxr-xr-x 207 1 2602 May 13 20:08:59 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_proc.sh
-rwxr--r-- 207 1 794 May 30 16:57:45 2014 lubinsu/scripts/etl_dispatch/css_etl/spoolBatch.sh~
-rwxr--r-- 207 1 793 May 30 17:53:18 2014 lubinsu/scripts/etl_dispatch/css_etl/spoolBatch.sh
-rw-r--r-- 207 1 549 May 29 19:39:26 2014 lubinsu/scripts/etl_dispatch/css_etl/tmp.fileds~
-rwxrwxrwx 207 1 172 Apr 24 21:15:35 2014 lubinsu/scripts/etl_dispatch/css_etl/parseXML.sh
-rw-r--r-- 207 1 576 May 29 20:15:42 2014 lubinsu/scripts/etl_dispatch/css_etl/tmp.fileds
-rw-r--r-- 207 1 232 May 29 20:16:21 2014 lubinsu/scripts/etl_dispatch/css_etl/spoolSQL
-rw-r--r-- 207 1 0 Apr 23 21:44:45 2014 lubinsu/scripts/etl_dispatch/css_etl/.tmp
-rwxr-xr-x 207 1 9178 Apr 27 11:35:12 2014 lubinsu/scripts/etl_dispatch/css_etl/etl_dispatch_original.sh
-rw-r--r-- 207 1 17 May 29 20:16:47 2014 lubinsu/scripts/etl_dispatch/css_etl/spoolTail
-rw-r--r-- 207 1 733 May 30 08:56:12 2014 lubinsu/scripts/etl_dispatch/css_etl/spoolBatch.sh_bak
-rw-r--r-- 207 1 831 May 29 20:22:28 2014 lubinsu/scripts/etl_dispatch/css_etl/spoolSQL_55313886.sql
-rwxr-xr-x 207 1 792 Apr 09 17:44:30 2014 lubinsu/scripts/etl_dispatch/shell_proc_daemon.sh
-rwxrwxrwx 207 1 495 Nov 08 18:16:36 2013 lubinsu/scripts/get_date.sh
-rwxrwxrwx 207 1 4829 Apr 10 15:02:31 2014 lubinsu/scripts/get_itibil_acct_item_owe.sh
-rwxrwxrwx 207 1 2034 Jan 31 18:02:06 2014 lubinsu/scripts/syn_acct_item_owe_month.sh
-rwxrwxrwx 207 1 549 Nov 26 13:22:59 2013 lubinsu/scripts/syn_acct_item_owe_all.sh
-rwxr-xr-x 207 1 5135 Apr 10 15:21:00 2014 lubinsu/scripts/get_itibil_acct_item_owe_enhance.sh
-rwxrwxrwx 207 1 1070 May 30 18:11:28 2014 lubinsu/scripts/backup.sh
-rwxrwxrwx 207 1 1118 Nov 26 13:25:29 2013 lubinsu/scripts/syn_acct_item_owe_all_auto.sh
-rw-r--r-- 207 1 392 Apr 10 13:21:13 2014 lubinsu/scripts/passwd.txt
-rwxr-xr-x 207 1 400 Apr 10 14:49:11 2014 lubinsu/scripts/call_proc.sh
-rwxr-xr-x 207 1 707 Apr 01 20:15:25 2014 lubinsu/scripts/getYesterday.sh
-rwxr-xr-x 207 1 1604 Nov 08 18:26:50 2013 lubinsu/scripts/syn_acct_item_owe_day.sh
-rwxr-xr-x 207 1 2524 Jan 31 21:20:31 2014 lubinsu/scripts/syn_acct_item_owe_day_auto_bak.sh
-rwxr-xr-x 207 1 1819 Jan 02 15:46:53 2014 lubinsu/scripts/syn_acct_item_owe_month_2.sh
-rwxrwxrwx 207 1 216 Jan 08 18:04:39 2014 lubinsu/scripts/read_db_test.sh
-rwxr-xr-x 207 1 228 Jan 25 16:58:26 2014 lubinsu/scripts/logic_backup.sh
-rwxrwxrwx 207 1 1069 May 29 15:33:19 2014 lubinsu/scripts/backup.sh~
-rwxrwxrwx 207 1 298 Jan 25 16:22:18 2014 lubinsu/scripts/get_last_month.sh
-rwxrwxrwx 207 1 1436 Mar 01 23:01:52 2014 lubinsu/scripts/get_files_from_ftp.sh
-rwxrwxrwx 207 1 1029 Mar 26 16:19:19 2014 lubinsu/scripts/source_profile
-rwxr-xr-x 207 1 2523 Jun 02 21:55:32 2014 lubinsu/scripts/syn_acct_item_owe_day_auto_tmp.sh~
-rwxr-xr-x 207 1 5135 Apr 25 11:46:20 2014 lubinsu/scripts/get_itibil_acct_item_owe_enhance_1.sh~
-rwxr-xr-x 207 1 2524 Jan 31 21:11:45 2014 lubinsu/scripts/syn_acct_item_owe_day_auto.sh
-rwxr-xr-x 207 1 5137 Apr 25 12:54:38 2014 lubinsu/scripts/get_itibil_acct_item_owe_enhance_1.sh
-rwxrwxrwx 207 1 56 Jun 06 15:50:26 2014 lubinsu/scripts/killProcess.sh~
-rwxrwxrwx 207 1 21 Jun 06 15:54:47 2014 lubinsu/scripts/killProcess.sh
-rwxr-xr-x 207 1 567 May 02 08:50:21 2014 lubinsu/scripts/syn_acct_item_owe_day_auto_single.sh
-rwxr-xr-x 207 1 883 Jun 02 21:59:33 2014 lubinsu/scripts/syn_acct_item_owe_day_auto_tmp.sh
drwxr-xr-x 207 1 0 Feb 18 15:39:49 2014 lubinsu/jdk/
-rwxrwxrwx 207 1 1055 May 15 13:25:17 2014 lubinsu/exportFile.sh~
-rwxrwxrwx 207 1 363 May 15 16:33:54 2014 lubinsu/exportFile.sh
-rw-r--r-- 207 1 17200346 May 19 23:03:12 2014 lubinsu/backup-scripts.tar.gz
-rw-r--r-- 207 1 98 Jun 07 11:34:28 2014 lubinsu/excludeList.txt~
-rw-r--r-- 207 1 58 Jun 07 11:38:02 2014 lubinsu/excludeList.txt


<think>我们正在备份整个Ubuntu系统(根目录/),同时排除特定的目录。根据引用[3]中的示例命令,我们可以构建类似的命令。注意:在备份整个系统时,通常需要排除一些特殊目录(如/proc,/sys, /mnt等),因为它们不是实际的文件不需要备份。此外,为了避免在备份过程中包含备份文件本身(如果备份文件也在根目录下),我们也需要排除它。根据引用[1]和[2]:--exclude选项用于指定要排除目录文件排除的路径应该是绝对路径,但注意在命令中我们使用目录/作为起点,所以排除的路径也是从根目录开始的。引用[3]中的命令示例:tar -cvzf/backup.tgz --exclude=/proc--exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys/我们根据这个示例来构建命令,排除用户指定的目录。注意事项:1.排除目录路径前面加上斜杠(如--exclude=/proc),这表示从根目录开始的绝对路径。2.备份文件本身(例如/backup.tgz)也需要排除,否则在备份过程中可能会包含自身,导致错误。3.使用-cvzf选项:c:创建新的归档v:详细模式,显示正在处理的文件z:使用gzip压缩f:指定归档文件名但是,请注意,如果备份文件不在根目录下,比如我们想将备份文件放在其他分区(例如/mnt/backup/backup.tgz),那么就不需要排除备份文件,因为它不在要备份的根目录范围内。因此,如果我们想备份整个系统(根目录排除常见的目录(如/proc,/sys, /tmp,/run, /mnt, /media,/lost+found等),以及用户自定义的目录,可以这样写:命令格式:tar -cvzf[备份文件路径] [排除选项][要备份目录]例如,将备份文件放在/mnt/backup/ubuntu_backup.tar.gz,排除以下目录:/proc,/sys, /tmp,/run, /mnt, /media,/lost+found, /var/cache,/var/tmp,以及备份文件本身(如果备份文件在根目录下则需要排除,但这里不在,所以不需要)注意:排除多个目录时,每个排除目录都要写一个--exclude选项。建议排除目录(根据系统实际情况):/proc -虚拟文件系统,反映内核和进程状态/sys -虚拟文件系统,用于系统设备信息/tmp-临时文件,通常不需要备份/run-运行时文件,重启后消失/mnt -挂载点,通常挂载外部文件系统,不需要备份/media-挂载点,同上/lost+found-文件系统修复时产生的文件/var/cache-缓存文件,通常不需要/var/tmp -临时文件另外,如果用户有其他的目录需要排除,可以自行添加。因此,完整的命令可能如下:```bashsudo tar-cvpzf /mnt/backup/ubuntu_backup.tar.gz \--exclude=/proc\--exclude=/tmp \--exclude=/sys\--exclude=/run \--exclude=/mnt \--exclude=/media\--exclude=/lost+found \--exclude=/var/cache\--exclude=/var/tmp \/```注意:-使用sudo是因为备份整个系统需要root权限。-选项中的`-p`用于保留权限(非常重要,因为备份系统需要保留文件权限和属性)。-如果备份文件所在的分区在备份过程中可能会被使用,确保备份文件不在要备份目录中(即不在根目录下,者已经被排除)。另外,如果用户希望排除其他目录,比如/home/user/large_files,则可以添加:--exclude=/home/user/large_files重要提示:排除模式中的路径必须与文件系统中的绝对路径一致,且以斜杠开头(相对于根目录)。如果用户希望使用相对路径排除,则不能以斜杠开头,但因为我们备份的是根目录,所以排除的路径也是相对于根目录的,因此必须用绝对路径。例如,排除/home/user/.cache目录,应写为:--exclude=/home/user/.cache但是,请注意,如果用户有多个用户目录需要排除缓存,可能需要更细致的处理。另外,如果备份文件很大,可以考虑使用其他压缩算法(如xz)以获得更高的压缩率,但耗时更长:将`z`选项(gzip)改为`J`选项(xz):tar -cvpJfbackup.tar.xz...最后,建议在系统处于单用户模式最小化运行时进行备份,以避免文件备份过程中被修改。相关问题:1.如何恢复使用tar备份的整个系统?2.除了tar,还有哪些工具可以备份整个Linux系统?3.如何验证备份文件的完整性?4.如何只备份系统发生变化的部分(增量备份)?</think>### 备份整个 Ubuntu 系统的 tar 命令(排除特定目录) 根据引用内容[1][2][3],备份整个 Ubuntu 系统(根目录 `/`)排除特定目录的完整命令如下: ```bash sudo tar -cvpzf /path/to/backup.tar.gz \ --exclude=/proc \ --exclude=/sys \ --exclude=/dev \ --exclude=/tmp \ --exclude=/run \ --exclude=/mnt \ --exclude=/media \ --exclude=/lost+found \ --exclude=/var/cache \ --exclude=/var/tmp \ --exclude=/home/*/.cache \ --exclude=/path/to/backup.tar.gz \ / ``` #### 命令解析: 1. **核心选项**: - `-c`:创建新归档 - `-v`:显示详细过程 - `-p`:保留文件权限(关键参数) - `-z`:使用 gzip 压缩 - `-f`:指定输出文件 2. **排除规则**: - 系统虚拟目录:`/proc`, `/sys`, `/dev`(内存文件系统) - 临时目录:`/tmp`, `/run`, `/var/tmp`, `/var/cache` - 挂载点:`/mnt`, `/media` - 缓存目录:`/home/*/.cache`(排除所有用户的缓存) - 备份文件自身:`--exclude=/path/to/backup.tar.gz`(避免递归包含) 3. **关键参数**: - `sudo`:需要 root 权限访问系统文件 - 结尾的 `/`:指定备份目录[^2] #### 注意事项: 1. **路径规范**: - 排除路径必须使用**绝对路径**以 `/` 开头[^1] - 模式匹配需加引号:`--exclude='/home/*/temp'` 2. **特殊目录**: ```bash --exclude=/swapfile # 排除交换文件 --exclude=/var/lib/docker # 排除 Docker 数据 --exclude=/snap # 排除 Snap 包 ``` 3. **恢复系统**: 解压备份到根目录(需在 Live CD 环境): ```bash sudo tar -xvpzf backup.tar.gz -C / ``` #### 推荐实践: 1. 创建排除列表文件 `exclude.txt`: ```bash /proc /sys /dev /tmp /backup.tar.gz ``` 2. 使用列表文件备份: ```bash sudo tar -cvpzf backup.tar.gz --exclude-from=exclude.txt / ``` > **重要提示**:系统备份应在**救援模式****非运行状态**下进行,避免文件锁定导致数据不一致[^3]。 --- ### 相关问题 1. 如何验证 tar 备份文件的完整性? 2. 备份整个系统时如何处理正在使用的数据库文件? 3. tar 和 rsync 在系统备份中有哪些优缺点? 4. 如何实现 Ubuntu 系统的增量备份? 5. 系统恢复后如何重建 `/proc` 和 `/sys` 等虚拟目录? [^1]: 排除规则作用于文件系统遍历阶段,确保不包含指定路径[^1] [^2]: 根目录 `/` 参数使 tar 递归包含所有子目录[^2] [^3]: 备份自身文件需显式排除,避免操作冲突[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值