尽管ROS足够稳定,但我们仍然需要未雨绸缪。 ## 编写获取时间的函数 备份文件名称中带有时间会更容易管理,ROS自带的获取时间函数返回的格式不适合用于备份文件名。因此需要对时间进行一些处理。 **datetime_str** ``` :local month {"jan"="01"; "feb"="02"; "mar"="03"; "apr"="04"; "may"="05"; "jun"="06"; "jul"="07"; "aug"="08"; "sep"="09"; "oct"="10"; "nov"="11"; "dec"="12"} :local cdate ([/system clock get date]) :local ctime ([/system clock get time]) :local mkey [:pick $cdate 0 3] :local datetime ([:pick $cdate 7 11] . ($month->$mkey) . [:pick $cdate 4 6] . [:pick $ctime 0 2] . [:pick $ctime 3 5] . [:pick $ctime 6 8]) :return $datetime ``` ## 编写备份脚本 在备份脚本中,将上述脚本作为函数导入并调用。 **system-backup** ``` # Prepare filename with current date and time :local datetimeFunc [:parse [/system/script/get datetime_str source]] :local platform [/system/resource/get platform] :local hostname [/system/identity/get name] :local datetime [$datetimeFunc] :local filename ($platform . "_" . $hostname . "_" . $datetime) # Backup to file /system/backup/save name=$filename # Export to file /export file=$filename # Send to mail /tool/e-mail/send to="simaek@gamil.com" subject=("[$hostname]: auto backup") \ body="backup at $datetime" \ file=($filename . ".backup,$filename" . ".rsc") ``` ## 在计划任务中添加定时任务 设定为每隔七天执行一次备份,执行时间为凌晨2点。 ``` add comment="Auto backup configuration and send to mail" \ interval=1w name=auto-backup on-event=system-backup \ start-time=02:00:00 ``` Loading... 尽管ROS足够稳定,但我们仍然需要未雨绸缪。 ## 编写获取时间的函数 备份文件名称中带有时间会更容易管理,ROS自带的获取时间函数返回的格式不适合用于备份文件名。因此需要对时间进行一些处理。 **datetime_str** ``` :local month {"jan"="01"; "feb"="02"; "mar"="03"; "apr"="04"; "may"="05"; "jun"="06"; "jul"="07"; "aug"="08"; "sep"="09"; "oct"="10"; "nov"="11"; "dec"="12"} :local cdate ([/system clock get date]) :local ctime ([/system clock get time]) :local mkey [:pick $cdate 0 3] :local datetime ([:pick $cdate 7 11] . ($month->$mkey) . [:pick $cdate 4 6] . [:pick $ctime 0 2] . [:pick $ctime 3 5] . [:pick $ctime 6 8]) :return $datetime ``` ## 编写备份脚本 在备份脚本中,将上述脚本作为函数导入并调用。 **system-backup** ``` # Prepare filename with current date and time :local datetimeFunc [:parse [/system/script/get datetime_str source]] :local platform [/system/resource/get platform] :local hostname [/system/identity/get name] :local datetime [$datetimeFunc] :local filename ($platform . "_" . $hostname . "_" . $datetime) # Backup to file /system/backup/save name=$filename # Export to file /export file=$filename # Send to mail /tool/e-mail/send to="simaek@gamil.com" subject=("[$hostname]: auto backup") \ body="backup at $datetime" \ file=($filename . ".backup,$filename" . ".rsc") ``` ## 在计划任务中添加定时任务 设定为每隔七天执行一次备份,执行时间为凌晨2点。 ``` add comment="Auto backup configuration and send to mail" \ interval=1w name=auto-backup on-event=system-backup \ start-time=02:00:00 ``` 最后修改:2023 年 08 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 3 如果觉得我的文章对你有用,请随意赞赏