linux实现自动归档脚本,并且每个一个小时自动压缩文件,压缩文件名取名为当前日期
时间: 2024-03-20 19:40:24 浏览: 25
可以使用Linux中的crontab来实现自动归档和压缩文件的功能,具体步骤如下:
1. 创建一个用于存放需要归档的文件的文件夹,例如archive。
2. 创建一个shell脚本,例如archive.sh,用于自动归档和压缩文件。脚本内容如下:
```
#!/bin/bash
# 定义需要归档的文件夹路径
archive_dir="/path/to/archive"
# 定义压缩文件名为当前日期
compress_file=$(date "+%Y-%m-%d").tar.gz
# 进入需要归档的文件夹路径
cd "$archive_dir"
# 将文件夹中的所有文件归档并压缩为指定的文件名
tar -zcvf "$compress_file" *
# 将压缩文件移动到指定的目录
mv "$compress_file" "/path/to/compressed"
# 清空归档文件夹中的内容
rm -rf ./*
```
3. 给脚本添加可执行权限:
```
chmod +x archive.sh
```
4. 使用crontab来定时执行脚本。打开终端,输入以下命令:
```
crontab -e
```
5. 在打开的crontab文件中添加以下内容:
```
0 * * * * /path/to/archive.sh
```
这表示每个小时的0分钟执行一次archive.sh脚本。
注意:需要将脚本路径和压缩文件存放路径替换为实际的路径。
相关问题
linux自动归档脚本,实现每个一个小时自动压缩文件,压缩文件名为当前日期
好的,这是一个简单的Shell脚本可以实现你的需求:
```bash
#!/bin/bash
# 指定归档目录
archive_dir="/path/to/archive/dir"
while true; do
# 获取当前日期
current_date=$(date +"%Y-%m-%d")
# 压缩当前日期的文件
tar -czf "${archive_dir}/${current_date}.tar.gz" "${archive_dir}/${current_date}"*
# 等待1小时
sleep 3600
done
```
上述脚本实现了每隔1小时自动压缩指定目录下以当前日期为文件名前缀的所有文件。你只需要将 `archive_dir` 修改为你的归档目录即可。注意,该脚本会一直运行,如果需要停止运行,可以使用 `ctrl + c` 终止。
帮我写一个linux shell脚本,把当前目录下txt文件分别压缩成与txt文件名相同的zip压缩包
### 回答1:
很高兴为您服务!下面是一个bash脚本,用于将当前目录中的txt文件压缩成与文件名相同的zip压缩包:
#!/bin/bashfor file in *.txt; do
zip -j "${file%.*}".zip "$file"
done
### 回答2:
下面是一个可以实现你所描述的功能的Linux shell脚本:
```shell
#!/bin/bash
# 遍历当前目录下的所有txt文件
for file in *.txt; do
# 获取文件名(不包含扩展名)
filename=$(basename "$file" .txt)
# 创建对应的zip压缩包,并将txt文件添加到压缩包中
zip "$filename.zip" "$file"
# 提示压缩完成
echo "已成功压缩$file到$filename.zip"
done
```
请将上述脚本保存为一个文件(如compress.sh),然后使用chmod命令给予执行权限:
```shell
chmod +x compress.sh
```
之后,在需要执行该脚本的目录下打开终端,并执行以下命令来运行脚本:
```shell
./compress.sh
```
脚本会自动将该目录下的所有txt文件分别压缩成与txt文件名相同的zip压缩包,并输出相应的提示信息。
### 回答3:
你好!下面是一个简单的Shell脚本,可以实现将当前目录下的所有txt文件分别压缩为与它们的文件名相同的zip压缩包:
```bash
#!/bin/bash
# 遍历当前目录下的所有txt文件
for file in *.txt; do
# 提取文件名(不包括扩展名)
filename=$(basename "$file" .txt)
# 将txt文件压缩为zip文件(与文件名相同)
zip "$filename.zip" "$file"
# 打印处理的文件信息
echo "已压缩文件:$file --> $filename.zip"
done
```
请将以上代码保存为`compress.sh`文件,并在命令行中运行`bash compress.sh`命令,即可执行该脚本。执行脚本后,它将遍历当前目录下的所有txt文件,将每个txt文件压缩为与其文件名相同的zip压缩包,并打印出处理过程的信息。
希望这能帮到你!如果有任何问题,请随时提问。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)