当前位置: 首页 > 知识库问答 >
问题:

短tar脚本:“未找到命令”,当尝试将今天的日期添加到压缩文件名时

焦博实
2023-03-14

我正在尝试创建一个执行以下操作的脚本:

    < li >如果/home/testuser/backup不存在,则将其创建为目录(如果存在,则不会显示错误消息) < li >获取当前日期并将其存储为变量 < li >使用焦油: < ul > < li >备份整个项目文件目录 < li >备份以gzip格式和归档格式压缩 < li >使用存储的变量在tar文件名中包含日期 < li >备份到/home/testuser/backup目录 < li >使用tar命令生成的所有消息创建一个名为testuser.log的日志文件(使用详细模式) < li >将日志文件保存在/home/testuser/backup/testuser . log中

我对命令语法有困难,我不太明白我做错了什么。

cd /home/testuser

mkdir -p /home/testuser/backup

today=$(date'+%d-%m-%y')

tar -zcvf testuserbackup-$today.tar.gz projectfiles && 
testuserbackup-$today.tar.gz /home/testuser/backup

testuserbackup-$today.tar.gz >> testuser.log 2>/dev/null

mv testuser.log /home/testuser/backup

当我尝试运行脚本时,我得到以下终端输出:

./script2.sh: line 6: date+%d-%m-%y: command not found
projectfiles/
projectfiles/budget/
projectfiles/budget/testuserbudget1.txt
projectfiles/budget/testuserbudget2.txt
projectfiles/old/
projectfiles/old/testuserold2.txt
projectfiles/old/testuserold1.txt
projectfiles/documents/
projectfiles/documents/testuserdoc2.txt
projectfiles/documents/testuserdoc1.txt
./script2.sh: line 7: testuserbackup-.tar.gz: command not found

我愿意接受任何建议。这个任务来自上学期的一个旧作业,我是为了好玩才重温的...根据我以前的作业笔记,这项任务应该能够在不超过4行代码内完成。

**编辑:**完成脚本(在约翰的协助下)

#!/bin/bash
mkdir -p /home/testuser/backup
today=$(date '+%d-%m-%y')
tar -zcvf backup/testuserbackup-"$today".tar.gz projectfiles > 
backup/testuser.log 2>&1

共有1个答案

龚永新
2023-03-14

您缺少一个空格:

today=$(date '+%d-%m-%y')
#           ^

此外,这些线路应全部合并:

tar -zcvf testuserbackup-$today.tar.gz projectfiles && 
testuserbackup-$today.tar.gz /home/testuser/backup

testuserbackup-$today.tar.gz >> testuser.log 2>/dev/null

mv testuser.log /home/testuser/backup

日志文件需要与<code>tar

tar -zcvf backup/testuserbackup-"$today".tar.gz projectfiles > backup/testuser.log 2>&1

捕获stderr和stdout是个好主意,所以我更改了2

 类似资料:
  • 我不确定这是否可能? 我得拿到密码才能读 今天的月份即2月今天的日期即17月底的日期即31日,然后是一年中的其他11个月,在一行中按顺序排列 8月1日-31日|9月|10月|11月|12月|1月|2月|3月|4月|5月|6月|7月 请以最佳方式提供任何建议? 多谢 定时(timing的缩写)

  • 我有一个项目无法运行。 我已经两周没碰这个项目了。我昨天做的唯一一件事就是添加一个git存储库,就是这样。 当我试图运行时,我得到了这个错误: 我已经在其他帖子上看到了关于这个错误的解决方案,但是没有一个适合我。我已经删除了目录和文件,然后运行。 然而,我仍然得到相同的错误消息。有人知道怎么了吗? 这是我的包裹。json文件:

  • 我在下面找到了这个脚本,但它对我不起作用,因为我的文件有空间,而且我在一个zip文件中有多个文件。 请救命!谢谢你

  • 本文向大家介绍Linux下的tar压缩解压缩命令详解(小结),包括了Linux下的tar压缩解压缩命令详解(小结)的使用技巧和注意事项,需要的朋友参考一下 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选

  • 获取今天的日期(年、月、日) 用法 Your browser does not support the video tag. 案例:小闹钟 功能:2019年12月25日,播放圣诞快乐歌

  • 问题内容: 我是这个网站的新手,我才刚刚开始学习Java。我正在尝试将几天添加到GregorianCalendar中,但是它不起作用。在这里…(忽略顶部的块),其底部的添加日期很烦人。 感谢您阅读本文!我欢迎任何反馈… 问题答案: 这里有太多代码。用户互动过多。 从一种简单的方法开始做一件事,然后在正确的方法上解决。 这是您可能的操作方式: 一旦测试并证明了此方法,您就可以让其余的代码调用它。 更