You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在/etc/cron.hourly配置每小时执行grive的Cron任务?及异常排查

问题1:设置每小时运行的Cron任务从/etc/cron.hourly执行grive

要让grive每小时通过/etc/cron.hourly自动运行,你只需要遵循这几个简单步骤:

  • 创建可执行脚本:在/etc/cron.hourly目录下新建一个无后缀的脚本(比如直接叫grive,因为run-parts默认会跳过包含点号的文件名),内容如下:

    #! /bin/sh
    # 切换到你的Google Drive目录
    cd /path/to/your/google/drive/directory || exit 1
    # 执行grive同步
    grive
    

    把/path/to/your/google/drive/directory替换成实际的目录路径。

  • 设置正确权限:确保脚本拥有可执行权限,执行命令:

    chmod u+x /etc/cron.hourly/grive
    
  • 验证配置:你可以用run-parts测试脚本是否会被执行:

    run-parts --test /etc/cron.hourly
    

    如果输出里包含你的grive脚本,说明配置没问题,接下来它会每小时自动运行一次。


问题2:grive.sh在cron.hourly/cron.daily中未运行的排查与解决

从你的描述来看,手动运行正常但Cron不执行,结合日志和权限问题,这里有几个关键的排查点和解决方案:

1. 文件名导致run-parts跳过脚本

run-parts(Cron用来执行/etc/cron.hourly等目录下脚本的工具)默认会跳过包含点号(.)的文件名,你的脚本叫grive.sh,这会被直接忽略。解决方法:

mv /etc/cron.hourly/grive.sh /etc/cron.hourly/grive

2. 权限修改未生效的问题

你执行的chmod u+rwx grive.sh可能因为路径问题没生效,应该用绝对路径修改权限,并且确保以root身份操作:

chmod u+x /etc/cron.hourly/grive

修改后用ls -l /etc/cron.hourly/grive确认权限,输出应该包含-rwxr--r--(至少所有者有执行权限x)。

3. 外部磁盘挂载问题

你的Google Drive目录在外部硬盘/media/james/Seagate Expansion Drive/GD上,Cron运行时可能该磁盘还没挂载(比如系统启动后自动挂载延迟,或者挂载失败),导致cd命令失败,grive无法执行。

解决方法:

  • 配置/etc/fstab让磁盘开机自动挂载,添加类似这样的行(先查磁盘UUID,用blkid命令获取):
    UUID=xxxx-xxxx /media/james/Seagate\040Expansion\040Drive/GD ext4 defaults 0 2
    
    注意空格要用\040转义,或者把挂载目录改成无空格的名字(比如/media/james/SeagateGD),避免路径解析问题。

4. 增加日志排查错误

Cron的环境变量和终端不同,可能grive执行时出现错误但你看不到。修改脚本添加日志输出:

#! /bin/sh
LOG="/var/log/grive_sync.log"
echo "=== Sync started at $(date) ===" >> $LOG
# 切换目录失败时记录错误并退出
cd /media/james/Seagate\ Expansion\ Drive/GD || { echo "ERROR: Failed to enter directory" >> $LOG; exit 1; }
# 把grive的输出和错误都写入日志
grive >> $LOG 2>&1
echo "=== Sync finished at $(date) ===" >> $LOG

之后查看/var/log/grive_sync.log就能知道具体哪里出错了。

5. 手动测试脚本执行

执行run-parts --report /etc/cron.hourly,然后检查日志文件和Google Drive目录,确认同步是否正常。


内容的提问来源于stack exchange,提问作者James Ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:16:58