使用 bash 文件为远程服务器自动安装 USB 闪存驱动程序以进行计划备份操作

使用 bash 文件为远程服务器自动安装 USB 闪存驱动程序以进行计划备份操作

我必须使用 cronjob 执行备份任务并使用 bash 脚本执行备份操作来定期备份服务器的数据库。这是一个 PHP Web 应用程序。您可以选择将备份文件存储在服务器硬盘上或外部 USB 闪存驱动器或硬盘上。

用户可以从网页应用程序添加备份任务并进行编辑,该应用程序旨在显示所有已保存的备份任务及其所有信息:

服务器 - 数据库 - 表 - 目标服务器 - 目标存储 - 天 - 小时 - 分钟

所有这些都保存在一个 xml 文件中,并显示在表格中。您可以在该页面的表格中添加、编辑或删除任务。

USB 驱动器应该自动安装在远程服务器上,然后 PHP 应用程序应该告诉用户何时有驱动器可用于保存目标存储等于 USB 的任务。

我有一个 bash 脚本,每次在一个服务器上手动执行此操作。我在 Virtual Box 客户机上使用 CentOS。我的 Virtual Box 主机是 Ubuntu,我还是个初学者。我需要你帮助我使用命令。

我目前有一个获取 usb 名称(而不是其 id)的命令,如下所示:

# Get USB stick count, name and size  
dec_count=`fdisk -l | tr -s ' ' | grep 'Disk /' -c`  
fdisk -l | tr -s ' ' | grep 'Disk /' | cut -f3 -d'/' | cut -f1 -d',' | sed -n "2,$dec_count p"  

这是因为我需要为每个 USB 驱动器提供一个唯一的 ID,而不是 Linux 为其指定的名称(如 sdb)。

那么,我的 PHP 应用程序如何知道是否有可用的 USB 驱动器?应该由 cronjob 来做这件事还是应该用 PHP 来做?

我是否正确对待了这个问题?任何帮助链接或建议都欢迎。需要尽快完成。

提前致谢。

答案1

您可以使用 Cron 作业每分钟运行脚本,而不仅仅是在预定的时间运行。第一个字段是“分钟”。

如果在此字段中指定 *,它将每分钟运行一次:

* * * * * /home/user/script.sh

如果在第一个字段中指定 */5,则每 5 分钟运行一次:

*/5 * * * * /home/user/script.sh

相关内容