在日常运维过程中,我们难免需要使用mv、cp、scp等操作。当处理的数据量较小时,这些操作可能不会出现问题。但是,当数据量较大时,可能会出现各种情况导致操作失败,例如网络问题或误操作。这些问题将会极大地降低我们的工作效率。因此,如果我们能够将这些命令放在后台执行,既可以继续进行其他操作,同时也能避免许多问题的出现。
我将操作分为两类 ,第一类不需要口令和第二类需要口令的。操作如下
第一类:如进行导入导出时 expdp、exp、mv、执行sh 等
nohup expdp \'/ as sysdba\' 相关参数 &
nohup impdp \'/ as sysdba\' 相关参数 &
nohup mv xxx ///xxx &
nohup sh xxx.sh &
第二类:如进行scp等需要输入口令的
nohup scp /data/xxxx oracle@xxx.xxx.xx.xx:/dump
输入口令
ctrl +z
bg
可通过jobs查看状态
停止 kill %jobib ##如kill %1
可以通过 tail -f nohup.out ##查看反馈信息
这样做好处很多。
-
可以提高操作的可读性,因为每个job都有一个明确的名称和描述。
-
减少了手动操作的需要,因为可以通过自动化程序定期执行job。
-
可以更好地跟踪任务的状态和进度,因为每个job都有一个独特的ID和历史记录。
-
可以更方便地进行错误诊断和故障排除,因为每个job都有一个明确的输入和输出。
-
可以更好地管理并行操作,因为每个job都可以独立执行。