输出一个shell脚本,要求对一个hosts清单的主机的指定文件夹的mtime时间进行输出
时间: 2024-04-14 16:30:31 浏览: 18
以下是一个示例的shell脚本,用于输出主机清单中每个主机指定文件夹的mtime时间:
```bash
#!/bin/bash
# 主机清单
hosts=("host1" "host2" "host3")
# 文件夹路径
folder="/path/to/folder"
# 遍历主机清单
for host in "${hosts[@]}"; do
echo "主机 $host:"
# 获取文件夹的mtime时间
mtime=$(ssh "$host" "stat -c %y $folder")
if [ $? -eq 0 ]; then
echo "文件夹 $folder 的mtime时间: $mtime"
else
echo "获取mtime时间失败"
fi
echo ""
done
```
请注意,此脚本假设您已经设置了无需密码的SSH登录,并在`hosts`数组中提供了要查询的主机列表。您需要将`/path/to/folder`替换为实际的文件夹路径。脚本将远程登录每个主机,并使用`stat`命令获取指定文件夹的mtime时间。如果成功获取到mtime时间,将输出到控制台;如果获取失败,将输出错误信息。您可以根据实际情况进行修改和扩展。
相关问题
写一个shell脚本进行docker部署的sqlserver的定时备份和删除
好的,您的问题是如何编写一个shell脚本进行docker部署的sqlserver的定时备份和删除。以下是一个示例脚本,您可以根据需求进行修改:
```bash
#!/bin/bash
# 确保已安装docker和docker-compose
docker -v
docker-compose -v
# 启动sqlserver容器
docker-compose up -d
# 设置备份目录和格式
backup_dir=/data/backup
backup_format=sql
# 备份数据库
backup_name=$(date +%Y-%m-%d-%H-%M-%S).$backup_format
docker exec sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Your_password_here -Q "BACKUP DATABASE [Your_database_name_here] TO DISK = N'/var/opt/mssql/backup/$backup_name' WITH NOFORMAT, NOINIT, NAME = 'Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
# 删除过期备份
days_to_keep=7
find $backup_dir -type f -mtime +$days_to_keep -name "*.$backup_format" -exec rm {} \;
exit 0
```
该脚本将启动docker-compose文件中定义的sqlserver容器,并使用sqlcmd命令备份数据库,并在备份过期后删除过期备份。您需要将 `Your_password_here` 和 `Your_database_name_here` 替换为您的密码和数据库名称。
您可以使用 `crontab` 或其他调度工具来定期运行该脚本。例如,要每天凌晨3点备份数据库和删除过期备份,您可以在 crontab 中添加以下行:
```
0 3 * * * /path/to/your/script.sh
```
感谢您的提问,祝您编写愉快!
编写一个shell脚本,可以自动删除创建时间超过七天的文件
可以使用 `find` 命令来实现这个功能。下面是一个例子:
```bash
#!/bin/bash
# 在当前目录中查找创建时间超过7天的文件
find . -mtime +7 -type f -delete
```
说明:
- `find` 命令用于在指定目录中查找文件。
- `.` 表示当前目录。
- `-mtime +7` 表示查找创建时间超过7天的文件。
- `-type f` 表示查找的是普通文件,而不是目录。
- `-delete` 表示删除找到的文件。
这个脚本会在当前目录中查找创建时间超过7天的文件,并将它们删除。
如果希望在其他目录中查找和删除文件,可以将目录路径替换为 `find` 命令的第一个参数。例如,如果希望在 `/home/user/documents` 目录中查找和删除文件,可以将脚本修改为:
```bash
#!/bin/bash
# 在/home/user/documents目录中查找创建时间超过7天的文件
find /home/user/documents -mtime +7 -type f -delete
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)