我想每天创建一次数据库的 excel 备份。我使用 SSH 访问我的 Web 服务器,但我无法安装 cron,我需要 sudoier 的密码或其他东西。我想我可以联系我的网络主机提供商。
但必须有另一种选择。
有没有办法检查脚本是否已运行?
例如,如果没有人向数据库添加任何条目,则无需备份数据库。
因此,当有人提交某些内容时,我使用它来启动编写 excel 文件。如果其他人在那天提交了东西,我选择不写 excel 文件。
Excel 文件将具有 excel file_2013-11-11 的时间戳.xls
我唯一担心的是,如果两个人同时提交,excel文件会崩溃,或者因为您无法同时正确编写excel文件而被锁定怎么办?
您可以为服务设置 API,并使用外部请求来触发该过程
export SECRET=myapitoken
curl http://example.com/api/jobs?id=123&token=$SECRET
注意:您可以采取其他安全措施来限制访问。按 IP 地址过滤将是一种廉价、易于实施的解决方案。
除此之外,如果你只是谷歌"网络服务器监控",你会发现大量的服务可供你使用
你不安装 cron,默认情况下应该安装它。
由于您似乎已经拥有 shell 访问权限,因此您应该能够使用 crontab -e
编辑用户的个人 cron 文件。请记住,此文件中的任何作业都将以您的用户身份运行,而不是以 root 用户身份运行,并且可能不是以 Apache 使用的同一用户身份运行。相应地规划脚本权限。
crontab
每天运行一次
0 0 */1 * * /path_to_script
cron
守护程序是一个长时间运行的进程,它在特定日期和时间执行命令。您可以使用它来计划活动,作为一次性事件或周期性任务。
分钟 小时 天 月 工作日命令
字段由空格或制表符分隔。前五个是整数模式,第六个是要执行的命令。下表简要介绍了每个字段。
字段值说明
分钟0-59 命令序列执行的确切分钟
小时0-23 命令序列执行的小时
数第 1-31 天 执行命令序列的月份中的某一天
第 1-12 个月 命令序列执行的月份
工作日 0-6 命令序列执行的星期几。星期日 = 0,星期一 = 1,星期二 = 2,依此类推。
命令特殊 要执行的命令的完整序列。命令字符串必须符合 Bourne shell 语法。命令、可执行文件(如脚本)或组合都是可以接受的。
教程:http://v1.corenominal.org/howto-setup-a-crontab-file/