所以我是 Linux 新手,我编写了一个小脚本,该脚本应该将 /var/log 中以 .log 结尾的内容归档到名为 archive 的新目录中名为 log.tar 的 tar 文件。然后假设列出 tar 文件的内容,然后将其提取到一个名为 backup 的新文件中。
#!/bin/bash
mkdir archive
mkdir backup
cd archive
tar -cvf log.tar /var/log/*.log
tar -tf tar.log
tar -xf tar.log -C ~/backup
所以当我运行脚本时我得到这个输出。
tar: Removing leading `/' from member names
/var/log/alternatives.log
/var/log/auth.log
/var/log/bootstrap.log
/var/log/dpkg.log
/var/log/fontconfig.log
/var/log/gpu-manager.log
/var/log/kern.log
/var/log/vboxadd-install.log
/var/log/vboxadd-setup.log
/var/log/Xorg.0.log
var/log/alternatives.log
var/log/auth.log
var/log/bootstrap.log
var/log/dpkg.log
var/log/fontconfig.log
var/log/gpu-manager.log
var/log/kern.log
var/log/vboxadd-install.log
var/log/vboxadd-setup.log
var/log/Xorg.0.log
所以我想知道是否可以在归档时删除 /var/log/ 部分行,因此我在列出 tar 文件中的内容时得到了这一点。
alternatives.log
auth.log
bootstrap.log
cron.log
dpkg.log
kern.log
mail.log
当我在备份文件中执行 ls 时,我会看到 var 目录,当我在 var 目录中执行 las 并最终在日志目录中时,我会看到日志文件。那么如何在没有 /var/log/ 路径名和目录的情况下提取呢?
答案1
您只需在 tar 命令中位于目录 /var/log 中
tar cf /path/archives/yourfile.tar *.log
那么你的文件没有路径,并且你的目标文件位于你的存档目录中。
只需修改此配置中的脚本即可学习和培训自己的脚本编写。