每天运行一次脚本

每天运行一次脚本

我想我的问题适用于“计算机软件”,如果不是,请告诉我。

因此,我设置了一个 WebDav 安装,这样我就可以使用 keepassxc 加载我的密码数据库而不会出现任何问题。现在我想每天备份一次指定的文件(其路径/名称始终保持不变),最好是尽可能早的时间。我已经设置了所需的脚本。

echo "[`date`] Doing an automated Backup of my KeePass-File... ({,[BACKUP DRIVE]Backups/KeePass/Keepass-`date +"%Y-%m-%d"`.kdbx})" >> [LOG FOLDER]/keepass-backup.log
chown [USER : GROUP] [LOG DIRECTORY]/keepass-backup.log
/bin/cp [SOURCE DIRECTORY]/current.kdbx {,[BACKUP DRIVE]/Backups/KeePass/Keepass-`date +"%Y-%m-%d"`.kdbx}

但我无法找到如何按我想要的方式自动运行作业。但是,我能够找到一个名为“/etc/cron.daily”的文件夹,它似乎每天运行一次,这也没问题,即使这不是第一次运行。但它似乎不起作用。我发现一个名为“anacron”的服务将负责这些文件夹。它预装在我的 Manjaro x86_64 Gnome 上,但我没有做任何事情来配置它。

我很高兴能得到一个建议甚至一个解决方案:)

问候

答案1

您可以运行:

crontab -e

您将获得一个文本编辑器,其中有大量注释解释如何进行设置。

然后,您可以在末尾添加行,并为每列指定一个规范。这样,您就可以每天在 08:00 运行该脚本。

或者,您可以将脚本放在 /etc/cron.daily 中。它必须有一个 shebang(开头的 #!/folder/shell)和执行权限。您可以查看其中一个现有的脚本。

答案2

我遇到了类似的问题(将云服务器上的重要文件备份到我的电脑上)。

一个简单的解决方案

我运行的是 Kubuntu(KDE 桌面),但您可以在其他桌面中找到等效的实用程序。

我设置了 KAlarm(通常用于在指定时间向用户显示内容)来运行每天早上(早上 7 点)进行备份的脚本。

碰巧的是,KAlarm 会在开机后尽快执行警报,因此备份是我早上打开电脑时运行的第一件事之一。

强大的解决方案

一个可靠的解决方案是使用 cron 作业。但不要每天只运行一次。每小时甚至每 10 分钟运行一次,并让脚本确定当天的备份是否已完成(成功执行后,在 /tmp 或 /var/run 中留下跟踪器文件,以便下次执行时可以检查)。

相关内容